I: pbuilder: network access will be disabled during build
I: Current time: Sun Jan  5 11:54:22 +14 2025
I: pbuilder-time-stamp: 1736027662
I: Building the build Environment
I: extracting base tarball [/var/cache/pbuilder/unstable-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_9.14.0-5.dsc]
I: copying [./ironic-python-agent_9.14.0.orig.tar.xz]
I: copying [./ironic-python-agent_9.14.0-5.debian.tar.xz]
I: Extracting source
dpkg-source: warning: cannot verify inline signature for ./ironic-python-agent_9.14.0-5.dsc: unsupported subcommand
dpkg-source: info: extracting ironic-python-agent in ironic-python-agent-9.14.0
dpkg-source: info: unpacking ironic-python-agent_9.14.0.orig.tar.xz
dpkg-source: info: unpacking ironic-python-agent_9.14.0-5.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 Replace_crypt_module.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/8816/tmp/hooks/D01_modify_environment starting
debug: Running on virt64z.
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 Jan  4 21:54 /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/8816/tmp/hooks/D01_modify_environment finished
I: user script /srv/workspace/pbuilder/8816/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]="arm-unknown-linux-gnueabihf")
  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=armhf
  DEBIAN_FRONTEND=noninteractive
  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 '
  DIRSTACK=()
  DISTRIBUTION=unstable
  EUID=0
  FUNCNAME=([0]="Echo" [1]="main")
  GROUPS=()
  HOME=/root
  HOSTNAME=i-capture-the-hostname
  HOSTTYPE=arm
  HOST_ARCH=armhf
  IFS=' 	
  '
  INVOCATION_ID=f69fc43ecbc94768b2d78f144f7c52ff
  LANG=C
  LANGUAGE=it_CH:it
  LC_ALL=C
  MACHTYPE=arm-unknown-linux-gnueabihf
  MAIL=/var/mail/root
  OPTERR=1
  OPTIND=1
  OSTYPE=linux-gnueabihf
  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=8816
  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.mvAeDWWn/pbuilderrc_HWf8 --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.mvAeDWWn/b2 --logfile b2/build.log ironic-python-agent_9.14.0-5.dsc'
  SUDO_GID=110
  SUDO_UID=103
  SUDO_USER=jenkins
  TERM=unknown
  TZ=/usr/share/zoneinfo/Etc/GMT-14
  UID=0
  USER=root
  _='I: set'
  http_proxy=http://10.0.0.15:3142/
I: uname -a
  Linux i-capture-the-hostname 6.1.0-28-arm64 #1 SMP Debian 6.1.119-1 (2024-11-22) aarch64 GNU/Linux
I: ls -l /bin
  lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin
I: user script /srv/workspace/pbuilder/8816/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: armhf
Maintainer: Debian Pbuilder Team <pbuilder-maint@lists.alioth.debian.org>
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, python3-setuptools, python3-coverage, python3-cryptography, python3-eventlet, python3-hardware, python3-ironic-lib (>= 6.0.0), python3-kazoo, python3-netifaces, python3-oslo.concurrency, python3-oslo.config, python3-oslo.log, python3-oslo.service, python3-oslo.utils, python3-oslotest, python3-pint, python3-psutil, python3-pyudev, python3-requests, python3-stestr, python3-stevedore, python3-tenacity, python3-testtools, python3-tooz, python3-werkzeug, 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 ... 19567 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; 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-ironic-lib (>= 6.0.0); however:
  Package python3-ironic-lib is not installed.
 pbuilder-satisfydepends-dummy depends on python3-kazoo; however:
  Package python3-kazoo is not installed.
 pbuilder-satisfydepends-dummy depends on python3-netifaces; however:
  Package python3-netifaces 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; 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 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} libabsl20230802{a} libaio1t64{a} libarchive-zip-perl{a} libcares2{a} libcom-err2{a} libconfig9{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} libicu72{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} libnsl2{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.12-dev{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libpython3.12t64{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} libtirpc-common{a} libtirpc3t64{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-async-timeout{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-deprecated{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-ironic-lib{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-netifaces{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-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.12{a} python3.12-dev{a} python3.12-minimal{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, 266 newly installed, 0 to remove and 0 not upgraded.
Need to get 88.5 MB of archives. After unpacking 357 MB will be used.
Writing extended state information...
Get: 1 http://deb.debian.org/debian unstable/main armhf freeipmi-common all 1.6.13-3 [355 kB]
Get: 2 http://deb.debian.org/debian unstable/main armhf libgpg-error0 armhf 1.51-3 [71.9 kB]
Get: 3 http://deb.debian.org/debian unstable/main armhf libgcrypt20 armhf 1.11.0-7 [727 kB]
Get: 4 http://deb.debian.org/debian unstable/main armhf libfreeipmi17 armhf 1.6.13-3 [883 kB]
Get: 5 http://deb.debian.org/debian unstable/main armhf readline-common all 8.2-6 [69.4 kB]
Get: 6 http://deb.debian.org/debian unstable/main armhf libreadline8t64 armhf 8.2-6 [146 kB]
Get: 7 http://deb.debian.org/debian unstable/main armhf ipmitool armhf 1.8.19-7.1 [1928 kB]
Get: 8 http://deb.debian.org/debian unstable/main armhf libconfig9 armhf 1.5-0.4+b2 [26.8 kB]
Get: 9 http://deb.debian.org/debian unstable/main armhf libnl-3-200 armhf 3.7.0-0.3+b1 [52.0 kB]
Get: 10 http://deb.debian.org/debian unstable/main armhf lldpad armhf 1.1.1-1 [213 kB]
Get: 11 http://deb.debian.org/debian unstable/main armhf libpython3.12-minimal armhf 3.12.8-3 [802 kB]
Get: 12 http://deb.debian.org/debian unstable/main armhf libexpat1 armhf 2.6.4-1 [83.5 kB]
Get: 13 http://deb.debian.org/debian unstable/main armhf python3.12-minimal armhf 3.12.8-3 [1794 kB]
Get: 14 http://deb.debian.org/debian unstable/main armhf python3-minimal armhf 3.12.8-1 [26.9 kB]
Get: 15 http://deb.debian.org/debian unstable/main armhf media-types all 10.1.0 [26.9 kB]
Get: 16 http://deb.debian.org/debian unstable/main armhf netbase all 6.4 [12.8 kB]
Get: 17 http://deb.debian.org/debian unstable/main armhf tzdata all 2024b-4 [256 kB]
Get: 18 http://deb.debian.org/debian unstable/main armhf libffi8 armhf 3.4.6-1 [20.0 kB]
Get: 19 http://deb.debian.org/debian unstable/main armhf libkrb5support0 armhf 1.21.3-3 [30.0 kB]
Get: 20 http://deb.debian.org/debian unstable/main armhf libcom-err2 armhf 1.47.2-1 [23.3 kB]
Get: 21 http://deb.debian.org/debian unstable/main armhf libk5crypto3 armhf 1.21.3-3 [75.8 kB]
Get: 22 http://deb.debian.org/debian unstable/main armhf libkeyutils1 armhf 1.6.3-4 [8096 B]
Get: 23 http://deb.debian.org/debian unstable/main armhf libkrb5-3 armhf 1.21.3-3 [283 kB]
Get: 24 http://deb.debian.org/debian unstable/main armhf libgssapi-krb5-2 armhf 1.21.3-3 [114 kB]
Get: 25 http://deb.debian.org/debian unstable/main armhf libtirpc-common all 1.3.4+ds-1.3 [10.9 kB]
Get: 26 http://deb.debian.org/debian unstable/main armhf libtirpc3t64 armhf 1.3.4+ds-1.3+b1 [71.3 kB]
Get: 27 http://deb.debian.org/debian unstable/main armhf libnsl2 armhf 1.3.0-3+b3 [35.0 kB]
Get: 28 http://deb.debian.org/debian unstable/main armhf libpython3.12-stdlib armhf 3.12.8-3 [1824 kB]
Get: 29 http://deb.debian.org/debian unstable/main armhf python3.12 armhf 3.12.8-3 [677 kB]
Get: 30 http://deb.debian.org/debian unstable/main armhf libpython3-stdlib armhf 3.12.8-1 [9792 B]
Get: 31 http://deb.debian.org/debian unstable/main armhf python3 armhf 3.12.8-1 [27.9 kB]
Get: 32 http://deb.debian.org/debian unstable/main armhf libpython3.13-minimal armhf 3.13.1-3 [844 kB]
Get: 33 http://deb.debian.org/debian unstable/main armhf python3.13-minimal armhf 3.13.1-3 [1840 kB]
Get: 34 http://deb.debian.org/debian unstable/main armhf sgml-base all 1.31 [15.4 kB]
Get: 35 http://deb.debian.org/debian unstable/main armhf libproc2-0 armhf 2:4.0.4-6 [56.0 kB]
Get: 36 http://deb.debian.org/debian unstable/main armhf procps armhf 2:4.0.4-6 [864 kB]
Get: 37 http://deb.debian.org/debian unstable/main armhf sensible-utils all 0.0.24 [24.8 kB]
Get: 38 http://deb.debian.org/debian unstable/main armhf openssl armhf 3.3.2-2 [1348 kB]
Get: 39 http://deb.debian.org/debian unstable/main armhf ca-certificates all 20241223 [164 kB]
Get: 40 http://deb.debian.org/debian unstable/main armhf libmagic-mgc armhf 1:5.45-3+b1 [314 kB]
Get: 41 http://deb.debian.org/debian unstable/main armhf libmagic1t64 armhf 1:5.45-3+b1 [98.5 kB]
Get: 42 http://deb.debian.org/debian unstable/main armhf file armhf 1:5.45-3+b1 [42.3 kB]
Get: 43 http://deb.debian.org/debian unstable/main armhf gettext-base armhf 0.22.5-3 [195 kB]
Get: 44 http://deb.debian.org/debian unstable/main armhf libuchardet0 armhf 0.0.8-1+b2 [65.6 kB]
Get: 45 http://deb.debian.org/debian unstable/main armhf groff-base armhf 1.23.0-7 [1095 kB]
Get: 46 http://deb.debian.org/debian unstable/main armhf bsdextrautils armhf 2.40.2-13 [84.7 kB]
Get: 47 http://deb.debian.org/debian unstable/main armhf libpipeline1 armhf 1.5.8-1 [35.0 kB]
Get: 48 http://deb.debian.org/debian unstable/main armhf man-db armhf 2.13.0-1 [1382 kB]
Get: 49 http://deb.debian.org/debian unstable/main armhf libkmod2 armhf 33+20240816-2 [55.3 kB]
Get: 50 http://deb.debian.org/debian unstable/main armhf pci.ids all 0.0~2024.11.25-1 [263 kB]
Get: 51 http://deb.debian.org/debian unstable/main armhf libpci3 armhf 1:3.13.0-1+b1 [67.9 kB]
Get: 52 http://deb.debian.org/debian unstable/main armhf pciutils armhf 1:3.13.0-1+b1 [120 kB]
Get: 53 http://deb.debian.org/debian unstable/main armhf libunistring5 armhf 1.3-1 [444 kB]
Get: 54 http://deb.debian.org/debian unstable/main armhf libidn2-0 armhf 2.3.7-2+b1 [125 kB]
Get: 55 http://deb.debian.org/debian unstable/main armhf libp11-kit0 armhf 0.25.5-3 [385 kB]
Get: 56 http://deb.debian.org/debian unstable/main armhf libtasn1-6 armhf 4.19.0-3+b3 [43.9 kB]
Get: 57 http://deb.debian.org/debian unstable/main armhf libgnutls30t64 armhf 3.8.8-2 [1370 kB]
Get: 58 http://deb.debian.org/debian unstable/main armhf libpsl5t64 armhf 0.21.2-1.1+b1 [55.8 kB]
Get: 59 http://deb.debian.org/debian unstable/main armhf wget armhf 1.24.5-2 [959 kB]
Get: 60 http://deb.debian.org/debian unstable/main armhf m4 armhf 1.4.19-4 [264 kB]
Get: 61 http://deb.debian.org/debian unstable/main armhf autoconf all 2.72-3 [493 kB]
Get: 62 http://deb.debian.org/debian unstable/main armhf autotools-dev all 20220109.1 [51.6 kB]
Get: 63 http://deb.debian.org/debian unstable/main armhf automake all 1:1.16.5-1.3 [823 kB]
Get: 64 http://deb.debian.org/debian unstable/main armhf autopoint all 0.22.5-3 [723 kB]
Get: 65 http://deb.debian.org/debian unstable/main armhf libdebhelper-perl all 13.23 [90.6 kB]
Get: 66 http://deb.debian.org/debian unstable/main armhf libtool all 2.4.7-8 [517 kB]
Get: 67 http://deb.debian.org/debian unstable/main armhf dh-autoreconf all 20 [17.1 kB]
Get: 68 http://deb.debian.org/debian unstable/main armhf libarchive-zip-perl all 1.68-1 [104 kB]
Get: 69 http://deb.debian.org/debian unstable/main armhf libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB]
Get: 70 http://deb.debian.org/debian unstable/main armhf dh-strip-nondeterminism all 1.14.0-1 [8448 B]
Get: 71 http://deb.debian.org/debian unstable/main armhf libelf1t64 armhf 0.192-4 [184 kB]
Get: 72 http://deb.debian.org/debian unstable/main armhf dwz armhf 0.15-1+b2 [106 kB]
Get: 73 http://deb.debian.org/debian unstable/main armhf libicu72 armhf 72.1-5+b1 [9088 kB]
Get: 74 http://deb.debian.org/debian unstable/main armhf libxml2 armhf 2.12.7+dfsg+really2.9.14-0.2+b1 [605 kB]
Get: 75 http://deb.debian.org/debian unstable/main armhf gettext armhf 0.22.5-3 [1488 kB]
Get: 76 http://deb.debian.org/debian unstable/main armhf intltool-debian all 0.35.0+20060710.6 [22.9 kB]
Get: 77 http://deb.debian.org/debian unstable/main armhf po-debconf all 1.0.21+nmu1 [248 kB]
Get: 78 http://deb.debian.org/debian unstable/main armhf debhelper all 13.23 [919 kB]
Get: 79 http://deb.debian.org/debian unstable/main armhf python3-autocommand all 2.2.2-3 [13.6 kB]
Get: 80 http://deb.debian.org/debian unstable/main armhf python3-more-itertools all 10.5.0-1 [63.8 kB]
Get: 81 http://deb.debian.org/debian unstable/main armhf python3-typing-extensions all 4.12.2-2 [73.0 kB]
Get: 82 http://deb.debian.org/debian unstable/main armhf python3-typeguard all 4.4.1-1 [37.0 kB]
Get: 83 http://deb.debian.org/debian unstable/main armhf python3-inflect all 7.3.1-2 [32.4 kB]
Get: 84 http://deb.debian.org/debian unstable/main armhf python3-jaraco.context all 6.0.0-1 [7984 B]
Get: 85 http://deb.debian.org/debian unstable/main armhf python3-jaraco.functools all 4.1.0-1 [12.0 kB]
Get: 86 http://deb.debian.org/debian unstable/main armhf python3-pkg-resources all 75.6.0-1 [222 kB]
Get: 87 http://deb.debian.org/debian unstable/main armhf python3-jaraco.text all 4.0.0-1 [11.4 kB]
Get: 88 http://deb.debian.org/debian unstable/main armhf python3-zipp all 3.21.0-1 [10.6 kB]
Get: 89 http://deb.debian.org/debian unstable/main armhf python3-setuptools all 75.6.0-1 [720 kB]
Get: 90 http://deb.debian.org/debian unstable/main armhf dh-python all 6.20241217 [113 kB]
Get: 91 http://deb.debian.org/debian unstable/main armhf xml-core all 0.19 [20.1 kB]
Get: 92 http://deb.debian.org/debian unstable/main armhf docutils-common all 0.21.2+dfsg-2 [128 kB]
Get: 93 http://deb.debian.org/debian unstable/main armhf libmnl0 armhf 1.0.5-3 [10.3 kB]
Get: 94 http://deb.debian.org/debian unstable/main armhf ethtool armhf 1:6.11-1 [200 kB]
Get: 95 http://deb.debian.org/debian unstable/main armhf hdparm armhf 9.65+ds-1.1 [104 kB]
Get: 96 http://deb.debian.org/debian unstable/main armhf ieee-data all 20240722 [2221 kB]
Get: 97 http://deb.debian.org/debian unstable/main armhf libonig5 armhf 6.9.9-1+b1 [168 kB]
Get: 98 http://deb.debian.org/debian unstable/main armhf libjq1 armhf 1.7.1-3+b1 [156 kB]
Get: 99 http://deb.debian.org/debian unstable/main armhf jq armhf 1.7.1-3+b1 [77.6 kB]
Get: 100 http://deb.debian.org/debian unstable/main armhf libabsl20230802 armhf 20230802.1-4 [432 kB]
Get: 101 http://deb.debian.org/debian unstable/main armhf libaio1t64 armhf 0.3.113-8+b1 [14.7 kB]
Get: 102 http://deb.debian.org/debian unstable/main armhf libcares2 armhf 1.34.4-2.1 [80.4 kB]
Get: 103 http://deb.debian.org/debian unstable/main armhf libev4t64 armhf 1:4.33-2.1+b1 [37.8 kB]
Get: 104 http://deb.debian.org/debian unstable/main armhf libexpat1-dev armhf 2.6.4-1 [140 kB]
Get: 105 http://deb.debian.org/debian unstable/main armhf libffi-dev armhf 3.4.6-1 [55.9 kB]
Get: 106 http://deb.debian.org/debian unstable/main armhf libglib2.0-0t64 armhf 2.82.4-1 [1327 kB]
Get: 107 http://deb.debian.org/debian unstable/main armhf x11-common all 1:7.7+23.1 [216 kB]
Get: 108 http://deb.debian.org/debian unstable/main armhf libice6 armhf 2:1.1.1-1 [58.5 kB]
Get: 109 http://deb.debian.org/debian unstable/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB]
Get: 110 http://deb.debian.org/debian unstable/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB]
Get: 111 http://deb.debian.org/debian unstable/main armhf libjs-sphinxdoc all 8.1.3-3 [30.4 kB]
Get: 112 http://deb.debian.org/debian unstable/main armhf libnuma1 armhf 2.0.18-1+b1 [18.9 kB]
Get: 113 http://deb.debian.org/debian unstable/main armhf libprotobuf32t64 armhf 3.21.12-10+b1 [871 kB]
Get: 114 http://deb.debian.org/debian unstable/main armhf libpython3.12t64 armhf 3.12.8-3 [1849 kB]
Get: 115 http://deb.debian.org/debian unstable/main armhf zlib1g-dev armhf 1:1.3.dfsg+really1.3.1-1+b1 [905 kB]
Get: 116 http://deb.debian.org/debian unstable/main armhf libpython3.12-dev armhf 3.12.8-3 [3812 kB]
Get: 117 http://deb.debian.org/debian unstable/main armhf libpython3-dev armhf 3.12.8-1 [10.1 kB]
Get: 118 http://deb.debian.org/debian unstable/main armhf libpython3.13-stdlib armhf 3.13.1-3 [1850 kB]
Get: 119 http://deb.debian.org/debian unstable/main armhf libpython3.13 armhf 3.13.1-3 [1869 kB]
Get: 120 http://deb.debian.org/debian unstable/main armhf libpython3.13-dev armhf 3.13.1-3 [3802 kB]
Get: 121 http://deb.debian.org/debian unstable/main armhf libpython3-all-dev armhf 3.12.8-1 [1068 B]
Get: 122 http://deb.debian.org/debian unstable/main armhf libre2-11 armhf 20240501-3+b1 [164 kB]
Get: 123 http://deb.debian.org/debian unstable/main armhf libsm6 armhf 2:1.2.4-1 [33.5 kB]
Get: 124 http://deb.debian.org/debian unstable/main armhf libsubunit-perl all 1.4.2-3 [5724 B]
Get: 125 http://deb.debian.org/debian unstable/main armhf liburing2 armhf 2.8-1 [23.7 kB]
Get: 126 http://deb.debian.org/debian unstable/main armhf libxau6 armhf 1:1.0.11-1 [19.7 kB]
Get: 127 http://deb.debian.org/debian unstable/main armhf libxdmcp6 armhf 1:1.1.5-1 [26.4 kB]
Get: 128 http://deb.debian.org/debian unstable/main armhf libxcb1 armhf 1.17.0-2+b1 [140 kB]
Get: 129 http://deb.debian.org/debian unstable/main armhf libx11-data all 2:1.8.10-2 [337 kB]
Get: 130 http://deb.debian.org/debian unstable/main armhf libx11-6 armhf 2:1.8.10-2 [750 kB]
Get: 131 http://deb.debian.org/debian unstable/main armhf libxext6 armhf 2:1.3.4-1+b2 [45.2 kB]
Get: 132 http://deb.debian.org/debian unstable/main armhf libxt6t64 armhf 1:1.2.1-1.2+b1 [160 kB]
Get: 133 http://deb.debian.org/debian unstable/main armhf libxmu6 armhf 2:1.1.3-3+b3 [51.2 kB]
Get: 134 http://deb.debian.org/debian unstable/main armhf libxslt1.1 armhf 1.1.35-1.1+b1 [212 kB]
Get: 135 http://deb.debian.org/debian unstable/main armhf libyaml-0-2 armhf 0.2.5-2 [45.4 kB]
Get: 136 http://deb.debian.org/debian unstable/main armhf lsb-release all 12.1-1 [5912 B]
Get: 137 http://deb.debian.org/debian unstable/main armhf lshw armhf 02.19.git.2021.06.19.996aaad9c7-2.1 [257 kB]
Get: 138 http://deb.debian.org/debian unstable/main armhf python3-wheel all 0.45.1-1 [56.7 kB]
Get: 139 http://deb.debian.org/debian unstable/main armhf python3-pip all 24.3.1+dfsg-1 [1441 kB]
Get: 140 http://deb.debian.org/debian unstable/main armhf openstack-pkg-tools all 132 [96.6 kB]
Get: 141 http://deb.debian.org/debian unstable/main armhf python-babel-localedata all 2.16.0-1 [5696 kB]
Get: 142 http://deb.debian.org/debian unstable/main armhf python3.13 armhf 3.13.1-3 [740 kB]
Get: 143 http://deb.debian.org/debian unstable/main armhf python3-all armhf 3.12.8-1 [1048 B]
Get: 144 http://deb.debian.org/debian unstable/main armhf python3.12-dev armhf 3.12.8-3 [506 kB]
Get: 145 http://deb.debian.org/debian unstable/main armhf python3-dev armhf 3.12.8-1 [26.1 kB]
Get: 146 http://deb.debian.org/debian unstable/main armhf python3.13-dev armhf 3.13.1-3 [504 kB]
Get: 147 http://deb.debian.org/debian unstable/main armhf python3-all-dev armhf 3.12.8-1 [1068 B]
Get: 148 http://deb.debian.org/debian unstable/main armhf python3-async-timeout all 5.0.1-1 [8324 B]
Get: 149 http://deb.debian.org/debian unstable/main armhf python3-autopage all 0.4.0-4 [12.9 kB]
Get: 150 http://deb.debian.org/debian unstable/main armhf python3-babel all 2.16.0-1 [114 kB]
Get: 151 http://deb.debian.org/debian unstable/main armhf python3-bcrypt armhf 4.2.0-2.1 [214 kB]
Get: 152 http://deb.debian.org/debian unstable/main armhf python3-blinker all 1.9.0-1 [12.6 kB]
Get: 153 http://deb.debian.org/debian unstable/main armhf python3-certifi all 2024.8.30+dfsg-1 [9576 B]
Get: 154 http://deb.debian.org/debian unstable/main armhf python3-cffi-backend armhf 1.17.1-2+b1 [83.7 kB]
Get: 155 http://deb.debian.org/debian unstable/main armhf python3-chardet all 5.2.0+dfsg-1 [107 kB]
Get: 156 http://deb.debian.org/debian unstable/main armhf python3-charset-normalizer armhf 3.4.0-1+b1 [126 kB]
Get: 157 http://deb.debian.org/debian unstable/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [24.9 kB]
Get: 158 http://deb.debian.org/debian unstable/main armhf xclip armhf 0.13-4 [20.3 kB]
Get: 159 http://deb.debian.org/debian unstable/main armhf python3-pyperclip all 1.8.2-2 [13.2 kB]
Get: 160 http://deb.debian.org/debian unstable/main armhf python3-cmd2 all 2.5.7+ds-1 [148 kB]
Get: 161 http://deb.debian.org/debian unstable/main armhf python3-roman all 4.2-1 [10.4 kB]
Get: 162 http://deb.debian.org/debian unstable/main armhf python3-docutils all 0.21.2+dfsg-2 [403 kB]
Get: 163 http://deb.debian.org/debian unstable/main armhf python3-pbr all 6.1.0-4 [56.6 kB]
Get: 164 http://deb.debian.org/debian unstable/main armhf python3-prettytable all 3.12.0-1 [39.5 kB]
Get: 165 http://deb.debian.org/debian unstable/main armhf python3-stevedore all 5.3.0-4 [21.0 kB]
Get: 166 http://deb.debian.org/debian unstable/main armhf python3-yaml armhf 6.0.2-1+b1 [158 kB]
Get: 167 http://deb.debian.org/debian unstable/main armhf python3-cliff all 4.7.0-3 [42.5 kB]
Get: 168 http://deb.debian.org/debian unstable/main armhf python3-coverage armhf 7.6.0+dfsg1-2+b1 [176 kB]
Get: 169 http://deb.debian.org/debian unstable/main armhf python3-cryptography armhf 43.0.0-1 [827 kB]
Get: 170 http://deb.debian.org/debian unstable/main armhf python3-dateutil all 2.9.0-3 [79.3 kB]
Get: 171 http://deb.debian.org/debian unstable/main armhf python3-wrapt armhf 1.15.0-4 [41.3 kB]
Get: 172 http://deb.debian.org/debian unstable/main armhf python3-debtcollector all 3.0.0-3 [13.1 kB]
Get: 173 http://deb.debian.org/debian unstable/main armhf python3-decorator all 5.1.1-5 [15.1 kB]
Get: 174 http://deb.debian.org/debian unstable/main armhf python3-deprecated all 1.2.15-1 [14.5 kB]
Get: 175 http://deb.debian.org/debian unstable/main armhf python3-packaging all 24.2-1 [55.3 kB]
Get: 176 http://deb.debian.org/debian unstable/main armhf python3-deprecation all 2.1.0-3 [14.5 kB]
Get: 177 http://deb.debian.org/debian unstable/main armhf python3-dnspython all 2.7.0-1 [164 kB]
Get: 178 http://deb.debian.org/debian unstable/main armhf python3-markupsafe armhf 2.1.5-1+b2 [13.4 kB]
Get: 179 http://deb.debian.org/debian unstable/main armhf python3-mako all 1.3.6-1 [83.1 kB]
Get: 180 http://deb.debian.org/debian unstable/main armhf python3-dogpile.cache all 1.3.3-1 [46.0 kB]
Get: 181 http://deb.debian.org/debian unstable/main armhf python3-protobuf armhf 3.21.12-10+b1 [259 kB]
Get: 182 http://deb.debian.org/debian unstable/main armhf python3-grpcio armhf 1.51.1-5+b1 [2480 kB]
Get: 183 http://deb.debian.org/debian unstable/main armhf python3-six all 1.17.0-1 [16.5 kB]
Get: 184 http://deb.debian.org/debian unstable/main armhf python3-tenacity all 8.4.2+really8.4.1-2 [46.0 kB]
Get: 185 http://deb.debian.org/debian unstable/main armhf python3-etcd3 all 0.12.0-3 [31.0 kB]
Get: 186 http://deb.debian.org/debian unstable/main armhf python3-greenlet armhf 3.1.0-1+b1 [175 kB]
Get: 187 http://deb.debian.org/debian unstable/main armhf python3-futurist all 3.0.0-3 [23.8 kB]
Get: 188 http://deb.debian.org/debian unstable/main armhf python3-idna all 3.8-2 [41.6 kB]
Get: 189 http://deb.debian.org/debian unstable/main armhf python3-urllib3 all 2.2.3-4 [112 kB]
Get: 190 http://deb.debian.org/debian unstable/main armhf python3-requests all 2.32.3+dfsg-1 [71.9 kB]
Get: 191 http://deb.debian.org/debian unstable/main armhf python3-etcd3gw all 2.4.2-3 [13.9 kB]
Get: 192 http://deb.debian.org/debian unstable/main armhf python3-eventlet all 0.36.1-11 [308 kB]
Get: 193 http://deb.debian.org/debian unstable/main armhf python3-extras all 1.0.0-6 [7528 B]
Get: 194 http://deb.debian.org/debian unstable/main armhf python3-monotonic all 1.6-3 [5340 B]
Get: 195 http://deb.debian.org/debian unstable/main armhf python3-fasteners all 0.18-2 [14.0 kB]
Get: 196 http://deb.debian.org/debian unstable/main armhf python3-testtools all 2.7.2-4 [122 kB]
Get: 197 http://deb.debian.org/debian unstable/main armhf python3-fixtures all 4.1.0-3 [34.2 kB]
Get: 198 http://deb.debian.org/debian unstable/main armhf python3-flexcache all 0.3-2 [13.5 kB]
Get: 199 http://deb.debian.org/debian unstable/main armhf python3-flexparser all 0.4-1 [42.9 kB]
Get: 200 http://deb.debian.org/debian unstable/main armhf python3-zope.event all 5.0-0.1 [8164 B]
Get: 201 http://deb.debian.org/debian unstable/main armhf python3-zope.interface armhf 7.2-1 [149 kB]
Get: 202 http://deb.debian.org/debian unstable/main armhf python3-gevent armhf 24.11.1-1 [901 kB]
Get: 203 http://deb.debian.org/debian unstable/main armhf python3-ptyprocess all 0.7.0-6 [14.5 kB]
Get: 204 http://deb.debian.org/debian unstable/main armhf python3-pexpect all 4.9-3 [55.6 kB]
Get: 205 http://deb.debian.org/debian unstable/main armhf smartmontools armhf 7.4-2 [579 kB]
Get: 206 http://deb.debian.org/debian unstable/main armhf python3-hardware all 0.30.0-4 [57.0 kB]
Get: 207 http://deb.debian.org/debian unstable/main armhf python3-ifaddr all 0.2.0-1 [10.2 kB]
Get: 208 http://deb.debian.org/debian unstable/main armhf python3-netaddr all 0.10.1-2 [339 kB]
Get: 209 http://deb.debian.org/debian unstable/main armhf python3-oslo.i18n all 6.4.0-3 [19.1 kB]
Get: 210 http://deb.debian.org/debian unstable/main armhf python3-oslo.context all 5.6.0-3 [13.3 kB]
Get: 211 http://deb.debian.org/debian unstable/main armhf python3-msgpack armhf 1.0.3-3+b3 [101 kB]
Get: 212 http://deb.debian.org/debian unstable/main armhf python3-iso8601 all 2.1.0-2 [12.1 kB]
Get: 213 http://deb.debian.org/debian unstable/main armhf python3-netifaces armhf 0.11.0-2+b5 [16.4 kB]
Get: 214 http://deb.debian.org/debian unstable/main armhf python3-pyparsing all 3.1.2-1 [146 kB]
Get: 215 http://deb.debian.org/debian unstable/main armhf python3-tz all 2024.2-1 [31.0 kB]
Get: 216 http://deb.debian.org/debian unstable/main armhf python3-oslo.utils all 7.3.0-4 [81.4 kB]
Get: 217 http://deb.debian.org/debian unstable/main armhf python3-oslo.serialization all 5.5.0-3 [14.8 kB]
Get: 218 http://deb.debian.org/debian unstable/main armhf python3-pyasyncore all 1.0.2-3 [10.1 kB]
Get: 219 http://deb.debian.org/debian unstable/main armhf python3-oslo.log all 6.1.2-4 [43.0 kB]
Get: 220 http://deb.debian.org/debian unstable/main armhf python3-rfc3986 all 2.0.0-3 [21.6 kB]
Get: 221 http://deb.debian.org/debian unstable/main armhf python3-oslo.config all 1:9.6.0-6 [108 kB]
Get: 222 http://deb.debian.org/debian unstable/main armhf python3-oslo.concurrency all 6.1.0-4 [28.0 kB]
Get: 223 http://deb.debian.org/debian unstable/main armhf python3-legacy-cgi all 2.6.1-2 [16.1 kB]
Get: 224 http://deb.debian.org/debian unstable/main armhf python3-webob all 1:1.8.7-3 [88.3 kB]
Get: 225 http://deb.debian.org/debian unstable/main armhf python3-zeroconf all 0.136.2-1 [158 kB]
Get: 226 http://deb.debian.org/debian unstable/main armhf python3-ironic-lib all 6.2.0-3 [58.6 kB]
Get: 227 http://deb.debian.org/debian unstable/main armhf python3-jinja2 all 3.1.3-1.1 [120 kB]
Get: 228 http://deb.debian.org/debian unstable/main armhf python3-jmespath all 1.0.1-1 [21.1 kB]
Get: 229 http://deb.debian.org/debian unstable/main armhf python3-json-pointer all 2.4-3 [14.6 kB]
Get: 230 http://deb.debian.org/debian unstable/main armhf python3-jsonpatch all 1.32-5 [12.1 kB]
Get: 231 http://deb.debian.org/debian unstable/main armhf python3-jwt all 2.7.0-1 [29.7 kB]
Get: 232 http://deb.debian.org/debian unstable/main armhf python3-kerberos armhf 1.1.14-3.1+b10 [19.0 kB]
Get: 233 http://deb.debian.org/debian unstable/main armhf python3-pure-sasl all 0.5.1+dfsg1-5 [11.9 kB]
Get: 234 http://deb.debian.org/debian unstable/main armhf python3-kazoo all 2.9.0-2 [115 kB]
Get: 235 http://deb.debian.org/debian unstable/main armhf python3-lxml armhf 5.3.0-1+b1 [1468 kB]
Get: 236 http://deb.debian.org/debian unstable/main armhf python3-oauthlib all 3.2.2-2 [95.5 kB]
Get: 237 http://deb.debian.org/debian unstable/main armhf python3-os-service-types all 1.7.0-5 [12.6 kB]
Get: 238 http://deb.debian.org/debian unstable/main armhf python3-keystoneauth1 all 5.8.0-3 [157 kB]
Get: 239 http://deb.debian.org/debian unstable/main armhf python3-platformdirs all 4.3.6-1 [16.6 kB]
Get: 240 http://deb.debian.org/debian unstable/main armhf python3-requestsexceptions all 1.4.0-5 [3860 B]
Get: 241 http://deb.debian.org/debian unstable/main armhf python3-openstacksdk all 4.0.1-3 [671 kB]
Get: 242 http://deb.debian.org/debian unstable/main armhf python3-os-client-config all 2.1.0-3 [17.5 kB]
Get: 243 http://deb.debian.org/debian unstable/main armhf python3-tempita all 0.6.0-1 [14.6 kB]
Get: 244 http://deb.debian.org/debian unstable/main armhf python3-paste all 3.10.1-1 [222 kB]
Get: 245 http://deb.debian.org/debian unstable/main armhf python3-pastedeploy-tpl all 3.1-1 [8268 B]
Get: 246 http://deb.debian.org/debian unstable/main armhf python3-pastedeploy all 3.1-1 [18.3 kB]
Get: 247 http://deb.debian.org/debian unstable/main armhf python3-repoze.lru all 0.7-3 [12.2 kB]
Get: 248 http://deb.debian.org/debian unstable/main armhf python3-routes all 2.5.1-6 [98.3 kB]
Get: 249 http://deb.debian.org/debian unstable/main armhf python3-yappi armhf 1.6.10-2 [30.7 kB]
Get: 250 http://deb.debian.org/debian unstable/main armhf python3-oslo.service all 3.5.0-3 [43.5 kB]
Get: 251 http://deb.debian.org/debian unstable/main armhf python3-tomlkit all 0.13.2-1 [42.7 kB]
Get: 252 http://deb.debian.org/debian unstable/main armhf python3-voluptuous all 0.14.2-1 [45.8 kB]
Get: 253 http://deb.debian.org/debian unstable/main armhf python3-subunit all 1.4.2-3 [66.4 kB]
Get: 254 http://deb.debian.org/debian unstable/main armhf subunit all 1.4.2-3 [5248 B]
Get: 255 http://deb.debian.org/debian unstable/main armhf python3-stestr all 4.1.0-3 [56.9 kB]
Get: 256 http://deb.debian.org/debian unstable/main armhf python3-oslotest all 1:5.0.0-4 [17.2 kB]
Get: 257 http://deb.debian.org/debian unstable/main armhf python3-pint all 0.24.4-1 [225 kB]
Get: 258 http://deb.debian.org/debian unstable/main armhf python3-psutil armhf 5.9.8-2 [225 kB]
Get: 259 http://deb.debian.org/debian unstable/main armhf python3-pymemcache all 4.0.0-8 [45.0 kB]
Get: 260 http://deb.debian.org/debian unstable/main armhf python3-pymysql all 1.1.1-2 [43.0 kB]
Get: 261 http://deb.debian.org/debian unstable/main armhf python3-pyudev all 0.24.3-1 [32.6 kB]
Get: 262 http://deb.debian.org/debian unstable/main armhf python3-redis all 4.3.4-4 [185 kB]
Get: 263 http://deb.debian.org/debian unstable/main armhf python3-zake all 0.2.2-8 [15.6 kB]
Get: 264 http://deb.debian.org/debian unstable/main armhf python3-tooz all 6.3.0-4 [52.6 kB]
Get: 265 http://deb.debian.org/debian unstable/main armhf python3-werkzeug all 3.1.3-2 [207 kB]
Get: 266 http://deb.debian.org/debian unstable/main armhf qemu-utils armhf 1:9.2.0+ds-3+b1 [1599 kB]
Fetched 88.5 MB in 9s (10.4 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 ... 19567 files and directories currently installed.)
Preparing to unpack .../00-freeipmi-common_1.6.13-3_all.deb ...
Unpacking freeipmi-common (1.6.13-3) ...
Selecting previously unselected package libgpg-error0:armhf.
Preparing to unpack .../01-libgpg-error0_1.51-3_armhf.deb ...
Unpacking libgpg-error0:armhf (1.51-3) ...
Selecting previously unselected package libgcrypt20:armhf.
Preparing to unpack .../02-libgcrypt20_1.11.0-7_armhf.deb ...
Unpacking libgcrypt20:armhf (1.11.0-7) ...
Selecting previously unselected package libfreeipmi17.
Preparing to unpack .../03-libfreeipmi17_1.6.13-3_armhf.deb ...
Unpacking libfreeipmi17 (1.6.13-3) ...
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:armhf.
Preparing to unpack .../05-libreadline8t64_8.2-6_armhf.deb ...
Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8 to /lib/arm-linux-gnueabihf/libhistory.so.8.usr-is-merged by libreadline8t64'
Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8.2 to /lib/arm-linux-gnueabihf/libhistory.so.8.2.usr-is-merged by libreadline8t64'
Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8 to /lib/arm-linux-gnueabihf/libreadline.so.8.usr-is-merged by libreadline8t64'
Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8.2 to /lib/arm-linux-gnueabihf/libreadline.so.8.2.usr-is-merged by libreadline8t64'
Unpacking libreadline8t64:armhf (8.2-6) ...
Selecting previously unselected package ipmitool.
Preparing to unpack .../06-ipmitool_1.8.19-7.1_armhf.deb ...
Unpacking ipmitool (1.8.19-7.1) ...
Selecting previously unselected package libconfig9:armhf.
Preparing to unpack .../07-libconfig9_1.5-0.4+b2_armhf.deb ...
Unpacking libconfig9:armhf (1.5-0.4+b2) ...
Selecting previously unselected package libnl-3-200:armhf.
Preparing to unpack .../08-libnl-3-200_3.7.0-0.3+b1_armhf.deb ...
Unpacking libnl-3-200:armhf (3.7.0-0.3+b1) ...
Selecting previously unselected package lldpad.
Preparing to unpack .../09-lldpad_1.1.1-1_armhf.deb ...
Unpacking lldpad (1.1.1-1) ...
Selecting previously unselected package libpython3.12-minimal:armhf.
Preparing to unpack .../10-libpython3.12-minimal_3.12.8-3_armhf.deb ...
Unpacking libpython3.12-minimal:armhf (3.12.8-3) ...
Selecting previously unselected package libexpat1:armhf.
Preparing to unpack .../11-libexpat1_2.6.4-1_armhf.deb ...
Unpacking libexpat1:armhf (2.6.4-1) ...
Selecting previously unselected package python3.12-minimal.
Preparing to unpack .../12-python3.12-minimal_3.12.8-3_armhf.deb ...
Unpacking python3.12-minimal (3.12.8-3) ...
Setting up libpython3.12-minimal:armhf (3.12.8-3) ...
Setting up libexpat1:armhf (2.6.4-1) ...
Setting up python3.12-minimal (3.12.8-3) ...
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 ... 20065 files and directories currently installed.)
Preparing to unpack .../00-python3-minimal_3.12.8-1_armhf.deb ...
Unpacking python3-minimal (3.12.8-1) ...
Selecting previously unselected package media-types.
Preparing to unpack .../01-media-types_10.1.0_all.deb ...
Unpacking media-types (10.1.0) ...
Selecting previously unselected package netbase.
Preparing to unpack .../02-netbase_6.4_all.deb ...
Unpacking netbase (6.4) ...
Selecting previously unselected package tzdata.
Preparing to unpack .../03-tzdata_2024b-4_all.deb ...
Unpacking tzdata (2024b-4) ...
Selecting previously unselected package libffi8:armhf.
Preparing to unpack .../04-libffi8_3.4.6-1_armhf.deb ...
Unpacking libffi8:armhf (3.4.6-1) ...
Selecting previously unselected package libkrb5support0:armhf.
Preparing to unpack .../05-libkrb5support0_1.21.3-3_armhf.deb ...
Unpacking libkrb5support0:armhf (1.21.3-3) ...
Selecting previously unselected package libcom-err2:armhf.
Preparing to unpack .../06-libcom-err2_1.47.2-1_armhf.deb ...
Unpacking libcom-err2:armhf (1.47.2-1) ...
Selecting previously unselected package libk5crypto3:armhf.
Preparing to unpack .../07-libk5crypto3_1.21.3-3_armhf.deb ...
Unpacking libk5crypto3:armhf (1.21.3-3) ...
Selecting previously unselected package libkeyutils1:armhf.
Preparing to unpack .../08-libkeyutils1_1.6.3-4_armhf.deb ...
Unpacking libkeyutils1:armhf (1.6.3-4) ...
Selecting previously unselected package libkrb5-3:armhf.
Preparing to unpack .../09-libkrb5-3_1.21.3-3_armhf.deb ...
Unpacking libkrb5-3:armhf (1.21.3-3) ...
Selecting previously unselected package libgssapi-krb5-2:armhf.
Preparing to unpack .../10-libgssapi-krb5-2_1.21.3-3_armhf.deb ...
Unpacking libgssapi-krb5-2:armhf (1.21.3-3) ...
Selecting previously unselected package libtirpc-common.
Preparing to unpack .../11-libtirpc-common_1.3.4+ds-1.3_all.deb ...
Unpacking libtirpc-common (1.3.4+ds-1.3) ...
Selecting previously unselected package libtirpc3t64:armhf.
Preparing to unpack .../12-libtirpc3t64_1.3.4+ds-1.3+b1_armhf.deb ...
Adding 'diversion of /lib/arm-linux-gnueabihf/libtirpc.so.3 to /lib/arm-linux-gnueabihf/libtirpc.so.3.usr-is-merged by libtirpc3t64'
Adding 'diversion of /lib/arm-linux-gnueabihf/libtirpc.so.3.0.0 to /lib/arm-linux-gnueabihf/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64'
Unpacking libtirpc3t64:armhf (1.3.4+ds-1.3+b1) ...
Selecting previously unselected package libnsl2:armhf.
Preparing to unpack .../13-libnsl2_1.3.0-3+b3_armhf.deb ...
Unpacking libnsl2:armhf (1.3.0-3+b3) ...
Selecting previously unselected package libpython3.12-stdlib:armhf.
Preparing to unpack .../14-libpython3.12-stdlib_3.12.8-3_armhf.deb ...
Unpacking libpython3.12-stdlib:armhf (3.12.8-3) ...
Selecting previously unselected package python3.12.
Preparing to unpack .../15-python3.12_3.12.8-3_armhf.deb ...
Unpacking python3.12 (3.12.8-3) ...
Selecting previously unselected package libpython3-stdlib:armhf.
Preparing to unpack .../16-libpython3-stdlib_3.12.8-1_armhf.deb ...
Unpacking libpython3-stdlib:armhf (3.12.8-1) ...
Setting up python3-minimal (3.12.8-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 ... 21101 files and directories currently installed.)
Preparing to unpack .../000-python3_3.12.8-1_armhf.deb ...
Unpacking python3 (3.12.8-1) ...
Selecting previously unselected package libpython3.13-minimal:armhf.
Preparing to unpack .../001-libpython3.13-minimal_3.13.1-3_armhf.deb ...
Unpacking libpython3.13-minimal:armhf (3.13.1-3) ...
Selecting previously unselected package python3.13-minimal.
Preparing to unpack .../002-python3.13-minimal_3.13.1-3_armhf.deb ...
Unpacking python3.13-minimal (3.13.1-3) ...
Selecting previously unselected package sgml-base.
Preparing to unpack .../003-sgml-base_1.31_all.deb ...
Unpacking sgml-base (1.31) ...
Selecting previously unselected package libproc2-0:armhf.
Preparing to unpack .../004-libproc2-0_2%3a4.0.4-6_armhf.deb ...
Unpacking libproc2-0:armhf (2:4.0.4-6) ...
Selecting previously unselected package procps.
Preparing to unpack .../005-procps_2%3a4.0.4-6_armhf.deb ...
Unpacking procps (2:4.0.4-6) ...
Selecting previously unselected package sensible-utils.
Preparing to unpack .../006-sensible-utils_0.0.24_all.deb ...
Unpacking sensible-utils (0.0.24) ...
Selecting previously unselected package openssl.
Preparing to unpack .../007-openssl_3.3.2-2_armhf.deb ...
Unpacking openssl (3.3.2-2) ...
Selecting previously unselected package ca-certificates.
Preparing to unpack .../008-ca-certificates_20241223_all.deb ...
Unpacking ca-certificates (20241223) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../009-libmagic-mgc_1%3a5.45-3+b1_armhf.deb ...
Unpacking libmagic-mgc (1:5.45-3+b1) ...
Selecting previously unselected package libmagic1t64:armhf.
Preparing to unpack .../010-libmagic1t64_1%3a5.45-3+b1_armhf.deb ...
Unpacking libmagic1t64:armhf (1:5.45-3+b1) ...
Selecting previously unselected package file.
Preparing to unpack .../011-file_1%3a5.45-3+b1_armhf.deb ...
Unpacking file (1:5.45-3+b1) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../012-gettext-base_0.22.5-3_armhf.deb ...
Unpacking gettext-base (0.22.5-3) ...
Selecting previously unselected package libuchardet0:armhf.
Preparing to unpack .../013-libuchardet0_0.0.8-1+b2_armhf.deb ...
Unpacking libuchardet0:armhf (0.0.8-1+b2) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../014-groff-base_1.23.0-7_armhf.deb ...
Unpacking groff-base (1.23.0-7) ...
Selecting previously unselected package bsdextrautils.
Preparing to unpack .../015-bsdextrautils_2.40.2-13_armhf.deb ...
Unpacking bsdextrautils (2.40.2-13) ...
Selecting previously unselected package libpipeline1:armhf.
Preparing to unpack .../016-libpipeline1_1.5.8-1_armhf.deb ...
Unpacking libpipeline1:armhf (1.5.8-1) ...
Selecting previously unselected package man-db.
Preparing to unpack .../017-man-db_2.13.0-1_armhf.deb ...
Unpacking man-db (2.13.0-1) ...
Selecting previously unselected package libkmod2:armhf.
Preparing to unpack .../018-libkmod2_33+20240816-2_armhf.deb ...
Unpacking libkmod2:armhf (33+20240816-2) ...
Selecting previously unselected package pci.ids.
Preparing to unpack .../019-pci.ids_0.0~2024.11.25-1_all.deb ...
Unpacking pci.ids (0.0~2024.11.25-1) ...
Selecting previously unselected package libpci3:armhf.
Preparing to unpack .../020-libpci3_1%3a3.13.0-1+b1_armhf.deb ...
Unpacking libpci3:armhf (1:3.13.0-1+b1) ...
Selecting previously unselected package pciutils.
Preparing to unpack .../021-pciutils_1%3a3.13.0-1+b1_armhf.deb ...
Unpacking pciutils (1:3.13.0-1+b1) ...
Selecting previously unselected package libunistring5:armhf.
Preparing to unpack .../022-libunistring5_1.3-1_armhf.deb ...
Unpacking libunistring5:armhf (1.3-1) ...
Selecting previously unselected package libidn2-0:armhf.
Preparing to unpack .../023-libidn2-0_2.3.7-2+b1_armhf.deb ...
Unpacking libidn2-0:armhf (2.3.7-2+b1) ...
Selecting previously unselected package libp11-kit0:armhf.
Preparing to unpack .../024-libp11-kit0_0.25.5-3_armhf.deb ...
Unpacking libp11-kit0:armhf (0.25.5-3) ...
Selecting previously unselected package libtasn1-6:armhf.
Preparing to unpack .../025-libtasn1-6_4.19.0-3+b3_armhf.deb ...
Unpacking libtasn1-6:armhf (4.19.0-3+b3) ...
Selecting previously unselected package libgnutls30t64:armhf.
Preparing to unpack .../026-libgnutls30t64_3.8.8-2_armhf.deb ...
Unpacking libgnutls30t64:armhf (3.8.8-2) ...
Selecting previously unselected package libpsl5t64:armhf.
Preparing to unpack .../027-libpsl5t64_0.21.2-1.1+b1_armhf.deb ...
Unpacking libpsl5t64:armhf (0.21.2-1.1+b1) ...
Selecting previously unselected package wget.
Preparing to unpack .../028-wget_1.24.5-2_armhf.deb ...
Unpacking wget (1.24.5-2) ...
Selecting previously unselected package m4.
Preparing to unpack .../029-m4_1.4.19-4_armhf.deb ...
Unpacking m4 (1.4.19-4) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../030-autoconf_2.72-3_all.deb ...
Unpacking autoconf (2.72-3) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../031-autotools-dev_20220109.1_all.deb ...
Unpacking autotools-dev (20220109.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../032-automake_1%3a1.16.5-1.3_all.deb ...
Unpacking automake (1:1.16.5-1.3) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../033-autopoint_0.22.5-3_all.deb ...
Unpacking autopoint (0.22.5-3) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../034-libdebhelper-perl_13.23_all.deb ...
Unpacking libdebhelper-perl (13.23) ...
Selecting previously unselected package libtool.
Preparing to unpack .../035-libtool_2.4.7-8_all.deb ...
Unpacking libtool (2.4.7-8) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../036-dh-autoreconf_20_all.deb ...
Unpacking dh-autoreconf (20) ...
Selecting previously unselected package libarchive-zip-perl.
Preparing to unpack .../037-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 .../038-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../039-dh-strip-nondeterminism_1.14.0-1_all.deb ...
Unpacking dh-strip-nondeterminism (1.14.0-1) ...
Selecting previously unselected package libelf1t64:armhf.
Preparing to unpack .../040-libelf1t64_0.192-4_armhf.deb ...
Unpacking libelf1t64:armhf (0.192-4) ...
Selecting previously unselected package dwz.
Preparing to unpack .../041-dwz_0.15-1+b2_armhf.deb ...
Unpacking dwz (0.15-1+b2) ...
Selecting previously unselected package libicu72:armhf.
Preparing to unpack .../042-libicu72_72.1-5+b1_armhf.deb ...
Unpacking libicu72:armhf (72.1-5+b1) ...
Selecting previously unselected package libxml2:armhf.
Preparing to unpack .../043-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_armhf.deb ...
Unpacking libxml2:armhf (2.12.7+dfsg+really2.9.14-0.2+b1) ...
Selecting previously unselected package gettext.
Preparing to unpack .../044-gettext_0.22.5-3_armhf.deb ...
Unpacking gettext (0.22.5-3) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../045-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 .../046-po-debconf_1.0.21+nmu1_all.deb ...
Unpacking po-debconf (1.0.21+nmu1) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../047-debhelper_13.23_all.deb ...
Unpacking debhelper (13.23) ...
Selecting previously unselected package python3-autocommand.
Preparing to unpack .../048-python3-autocommand_2.2.2-3_all.deb ...
Unpacking python3-autocommand (2.2.2-3) ...
Selecting previously unselected package python3-more-itertools.
Preparing to unpack .../049-python3-more-itertools_10.5.0-1_all.deb ...
Unpacking python3-more-itertools (10.5.0-1) ...
Selecting previously unselected package python3-typing-extensions.
Preparing to unpack .../050-python3-typing-extensions_4.12.2-2_all.deb ...
Unpacking python3-typing-extensions (4.12.2-2) ...
Selecting previously unselected package python3-typeguard.
Preparing to unpack .../051-python3-typeguard_4.4.1-1_all.deb ...
Unpacking python3-typeguard (4.4.1-1) ...
Selecting previously unselected package python3-inflect.
Preparing to unpack .../052-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 .../053-python3-jaraco.context_6.0.0-1_all.deb ...
Unpacking python3-jaraco.context (6.0.0-1) ...
Selecting previously unselected package python3-jaraco.functools.
Preparing to unpack .../054-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 .../055-python3-pkg-resources_75.6.0-1_all.deb ...
Unpacking python3-pkg-resources (75.6.0-1) ...
Selecting previously unselected package python3-jaraco.text.
Preparing to unpack .../056-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 .../057-python3-zipp_3.21.0-1_all.deb ...
Unpacking python3-zipp (3.21.0-1) ...
Selecting previously unselected package python3-setuptools.
Preparing to unpack .../058-python3-setuptools_75.6.0-1_all.deb ...
Unpacking python3-setuptools (75.6.0-1) ...
Selecting previously unselected package dh-python.
Preparing to unpack .../059-dh-python_6.20241217_all.deb ...
Unpacking dh-python (6.20241217) ...
Selecting previously unselected package xml-core.
Preparing to unpack .../060-xml-core_0.19_all.deb ...
Unpacking xml-core (0.19) ...
Selecting previously unselected package docutils-common.
Preparing to unpack .../061-docutils-common_0.21.2+dfsg-2_all.deb ...
Unpacking docutils-common (0.21.2+dfsg-2) ...
Selecting previously unselected package libmnl0:armhf.
Preparing to unpack .../062-libmnl0_1.0.5-3_armhf.deb ...
Unpacking libmnl0:armhf (1.0.5-3) ...
Selecting previously unselected package ethtool.
Preparing to unpack .../063-ethtool_1%3a6.11-1_armhf.deb ...
Unpacking ethtool (1:6.11-1) ...
Selecting previously unselected package hdparm.
Preparing to unpack .../064-hdparm_9.65+ds-1.1_armhf.deb ...
Unpacking hdparm (9.65+ds-1.1) ...
Selecting previously unselected package ieee-data.
Preparing to unpack .../065-ieee-data_20240722_all.deb ...
Unpacking ieee-data (20240722) ...
Selecting previously unselected package libonig5:armhf.
Preparing to unpack .../066-libonig5_6.9.9-1+b1_armhf.deb ...
Unpacking libonig5:armhf (6.9.9-1+b1) ...
Selecting previously unselected package libjq1:armhf.
Preparing to unpack .../067-libjq1_1.7.1-3+b1_armhf.deb ...
Unpacking libjq1:armhf (1.7.1-3+b1) ...
Selecting previously unselected package jq.
Preparing to unpack .../068-jq_1.7.1-3+b1_armhf.deb ...
Unpacking jq (1.7.1-3+b1) ...
Selecting previously unselected package libabsl20230802:armhf.
Preparing to unpack .../069-libabsl20230802_20230802.1-4_armhf.deb ...
Unpacking libabsl20230802:armhf (20230802.1-4) ...
Selecting previously unselected package libaio1t64:armhf.
Preparing to unpack .../070-libaio1t64_0.3.113-8+b1_armhf.deb ...
Unpacking libaio1t64:armhf (0.3.113-8+b1) ...
Selecting previously unselected package libcares2:armhf.
Preparing to unpack .../071-libcares2_1.34.4-2.1_armhf.deb ...
Unpacking libcares2:armhf (1.34.4-2.1) ...
Selecting previously unselected package libev4t64:armhf.
Preparing to unpack .../072-libev4t64_1%3a4.33-2.1+b1_armhf.deb ...
Unpacking libev4t64:armhf (1:4.33-2.1+b1) ...
Selecting previously unselected package libexpat1-dev:armhf.
Preparing to unpack .../073-libexpat1-dev_2.6.4-1_armhf.deb ...
Unpacking libexpat1-dev:armhf (2.6.4-1) ...
Selecting previously unselected package libffi-dev:armhf.
Preparing to unpack .../074-libffi-dev_3.4.6-1_armhf.deb ...
Unpacking libffi-dev:armhf (3.4.6-1) ...
Selecting previously unselected package libglib2.0-0t64:armhf.
Preparing to unpack .../075-libglib2.0-0t64_2.82.4-1_armhf.deb ...
Unpacking libglib2.0-0t64:armhf (2.82.4-1) ...
Selecting previously unselected package x11-common.
Preparing to unpack .../076-x11-common_1%3a7.7+23.1_all.deb ...
Unpacking x11-common (1:7.7+23.1) ...
Selecting previously unselected package libice6:armhf.
Preparing to unpack .../077-libice6_2%3a1.1.1-1_armhf.deb ...
Unpacking libice6:armhf (2:1.1.1-1) ...
Selecting previously unselected package libjs-jquery.
Preparing to unpack .../078-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 .../079-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 .../080-libjs-sphinxdoc_8.1.3-3_all.deb ...
Unpacking libjs-sphinxdoc (8.1.3-3) ...
Selecting previously unselected package libnuma1:armhf.
Preparing to unpack .../081-libnuma1_2.0.18-1+b1_armhf.deb ...
Unpacking libnuma1:armhf (2.0.18-1+b1) ...
Selecting previously unselected package libprotobuf32t64:armhf.
Preparing to unpack .../082-libprotobuf32t64_3.21.12-10+b1_armhf.deb ...
Unpacking libprotobuf32t64:armhf (3.21.12-10+b1) ...
Selecting previously unselected package libpython3.12t64:armhf.
Preparing to unpack .../083-libpython3.12t64_3.12.8-3_armhf.deb ...
Unpacking libpython3.12t64:armhf (3.12.8-3) ...
Selecting previously unselected package zlib1g-dev:armhf.
Preparing to unpack .../084-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_armhf.deb ...
Unpacking zlib1g-dev:armhf (1:1.3.dfsg+really1.3.1-1+b1) ...
Selecting previously unselected package libpython3.12-dev:armhf.
Preparing to unpack .../085-libpython3.12-dev_3.12.8-3_armhf.deb ...
Unpacking libpython3.12-dev:armhf (3.12.8-3) ...
Selecting previously unselected package libpython3-dev:armhf.
Preparing to unpack .../086-libpython3-dev_3.12.8-1_armhf.deb ...
Unpacking libpython3-dev:armhf (3.12.8-1) ...
Selecting previously unselected package libpython3.13-stdlib:armhf.
Preparing to unpack .../087-libpython3.13-stdlib_3.13.1-3_armhf.deb ...
Unpacking libpython3.13-stdlib:armhf (3.13.1-3) ...
Selecting previously unselected package libpython3.13:armhf.
Preparing to unpack .../088-libpython3.13_3.13.1-3_armhf.deb ...
Unpacking libpython3.13:armhf (3.13.1-3) ...
Selecting previously unselected package libpython3.13-dev:armhf.
Preparing to unpack .../089-libpython3.13-dev_3.13.1-3_armhf.deb ...
Unpacking libpython3.13-dev:armhf (3.13.1-3) ...
Selecting previously unselected package libpython3-all-dev:armhf.
Preparing to unpack .../090-libpython3-all-dev_3.12.8-1_armhf.deb ...
Unpacking libpython3-all-dev:armhf (3.12.8-1) ...
Selecting previously unselected package libre2-11:armhf.
Preparing to unpack .../091-libre2-11_20240501-3+b1_armhf.deb ...
Unpacking libre2-11:armhf (20240501-3+b1) ...
Selecting previously unselected package libsm6:armhf.
Preparing to unpack .../092-libsm6_2%3a1.2.4-1_armhf.deb ...
Unpacking libsm6:armhf (2:1.2.4-1) ...
Selecting previously unselected package libsubunit-perl.
Preparing to unpack .../093-libsubunit-perl_1.4.2-3_all.deb ...
Unpacking libsubunit-perl (1.4.2-3) ...
Selecting previously unselected package liburing2:armhf.
Preparing to unpack .../094-liburing2_2.8-1_armhf.deb ...
Unpacking liburing2:armhf (2.8-1) ...
Selecting previously unselected package libxau6:armhf.
Preparing to unpack .../095-libxau6_1%3a1.0.11-1_armhf.deb ...
Unpacking libxau6:armhf (1:1.0.11-1) ...
Selecting previously unselected package libxdmcp6:armhf.
Preparing to unpack .../096-libxdmcp6_1%3a1.1.5-1_armhf.deb ...
Unpacking libxdmcp6:armhf (1:1.1.5-1) ...
Selecting previously unselected package libxcb1:armhf.
Preparing to unpack .../097-libxcb1_1.17.0-2+b1_armhf.deb ...
Unpacking libxcb1:armhf (1.17.0-2+b1) ...
Selecting previously unselected package libx11-data.
Preparing to unpack .../098-libx11-data_2%3a1.8.10-2_all.deb ...
Unpacking libx11-data (2:1.8.10-2) ...
Selecting previously unselected package libx11-6:armhf.
Preparing to unpack .../099-libx11-6_2%3a1.8.10-2_armhf.deb ...
Unpacking libx11-6:armhf (2:1.8.10-2) ...
Selecting previously unselected package libxext6:armhf.
Preparing to unpack .../100-libxext6_2%3a1.3.4-1+b2_armhf.deb ...
Unpacking libxext6:armhf (2:1.3.4-1+b2) ...
Selecting previously unselected package libxt6t64:armhf.
Preparing to unpack .../101-libxt6t64_1%3a1.2.1-1.2+b1_armhf.deb ...
Unpacking libxt6t64:armhf (1:1.2.1-1.2+b1) ...
Selecting previously unselected package libxmu6:armhf.
Preparing to unpack .../102-libxmu6_2%3a1.1.3-3+b3_armhf.deb ...
Unpacking libxmu6:armhf (2:1.1.3-3+b3) ...
Selecting previously unselected package libxslt1.1:armhf.
Preparing to unpack .../103-libxslt1.1_1.1.35-1.1+b1_armhf.deb ...
Unpacking libxslt1.1:armhf (1.1.35-1.1+b1) ...
Selecting previously unselected package libyaml-0-2:armhf.
Preparing to unpack .../104-libyaml-0-2_0.2.5-2_armhf.deb ...
Unpacking libyaml-0-2:armhf (0.2.5-2) ...
Selecting previously unselected package lsb-release.
Preparing to unpack .../105-lsb-release_12.1-1_all.deb ...
Unpacking lsb-release (12.1-1) ...
Selecting previously unselected package lshw.
Preparing to unpack .../106-lshw_02.19.git.2021.06.19.996aaad9c7-2.1_armhf.deb ...
Unpacking lshw (02.19.git.2021.06.19.996aaad9c7-2.1) ...
Selecting previously unselected package python3-wheel.
Preparing to unpack .../107-python3-wheel_0.45.1-1_all.deb ...
Unpacking python3-wheel (0.45.1-1) ...
Selecting previously unselected package python3-pip.
Preparing to unpack .../108-python3-pip_24.3.1+dfsg-1_all.deb ...
Unpacking python3-pip (24.3.1+dfsg-1) ...
Selecting previously unselected package openstack-pkg-tools.
Preparing to unpack .../109-openstack-pkg-tools_132_all.deb ...
Unpacking openstack-pkg-tools (132) ...
Selecting previously unselected package python-babel-localedata.
Preparing to unpack .../110-python-babel-localedata_2.16.0-1_all.deb ...
Unpacking python-babel-localedata (2.16.0-1) ...
Selecting previously unselected package python3.13.
Preparing to unpack .../111-python3.13_3.13.1-3_armhf.deb ...
Unpacking python3.13 (3.13.1-3) ...
Selecting previously unselected package python3-all.
Preparing to unpack .../112-python3-all_3.12.8-1_armhf.deb ...
Unpacking python3-all (3.12.8-1) ...
Selecting previously unselected package python3.12-dev.
Preparing to unpack .../113-python3.12-dev_3.12.8-3_armhf.deb ...
Unpacking python3.12-dev (3.12.8-3) ...
Selecting previously unselected package python3-dev.
Preparing to unpack .../114-python3-dev_3.12.8-1_armhf.deb ...
Unpacking python3-dev (3.12.8-1) ...
Selecting previously unselected package python3.13-dev.
Preparing to unpack .../115-python3.13-dev_3.13.1-3_armhf.deb ...
Unpacking python3.13-dev (3.13.1-3) ...
Selecting previously unselected package python3-all-dev.
Preparing to unpack .../116-python3-all-dev_3.12.8-1_armhf.deb ...
Unpacking python3-all-dev (3.12.8-1) ...
Selecting previously unselected package python3-async-timeout.
Preparing to unpack .../117-python3-async-timeout_5.0.1-1_all.deb ...
Unpacking python3-async-timeout (5.0.1-1) ...
Selecting previously unselected package python3-autopage.
Preparing to unpack .../118-python3-autopage_0.4.0-4_all.deb ...
Unpacking python3-autopage (0.4.0-4) ...
Selecting previously unselected package python3-babel.
Preparing to unpack .../119-python3-babel_2.16.0-1_all.deb ...
Unpacking python3-babel (2.16.0-1) ...
Selecting previously unselected package python3-bcrypt.
Preparing to unpack .../120-python3-bcrypt_4.2.0-2.1_armhf.deb ...
Unpacking python3-bcrypt (4.2.0-2.1) ...
Selecting previously unselected package python3-blinker.
Preparing to unpack .../121-python3-blinker_1.9.0-1_all.deb ...
Unpacking python3-blinker (1.9.0-1) ...
Selecting previously unselected package python3-certifi.
Preparing to unpack .../122-python3-certifi_2024.8.30+dfsg-1_all.deb ...
Unpacking python3-certifi (2024.8.30+dfsg-1) ...
Selecting previously unselected package python3-cffi-backend:armhf.
Preparing to unpack .../123-python3-cffi-backend_1.17.1-2+b1_armhf.deb ...
Unpacking python3-cffi-backend:armhf (1.17.1-2+b1) ...
Selecting previously unselected package python3-chardet.
Preparing to unpack .../124-python3-chardet_5.2.0+dfsg-1_all.deb ...
Unpacking python3-chardet (5.2.0+dfsg-1) ...
Selecting previously unselected package python3-charset-normalizer.
Preparing to unpack .../125-python3-charset-normalizer_3.4.0-1+b1_armhf.deb ...
Unpacking python3-charset-normalizer (3.4.0-1+b1) ...
Selecting previously unselected package python3-wcwidth.
Preparing to unpack .../126-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 .../127-xclip_0.13-4_armhf.deb ...
Unpacking xclip (0.13-4) ...
Selecting previously unselected package python3-pyperclip.
Preparing to unpack .../128-python3-pyperclip_1.8.2-2_all.deb ...
Unpacking python3-pyperclip (1.8.2-2) ...
Selecting previously unselected package python3-cmd2.
Preparing to unpack .../129-python3-cmd2_2.5.7+ds-1_all.deb ...
Unpacking python3-cmd2 (2.5.7+ds-1) ...
Selecting previously unselected package python3-roman.
Preparing to unpack .../130-python3-roman_4.2-1_all.deb ...
Unpacking python3-roman (4.2-1) ...
Selecting previously unselected package python3-docutils.
Preparing to unpack .../131-python3-docutils_0.21.2+dfsg-2_all.deb ...
Unpacking python3-docutils (0.21.2+dfsg-2) ...
Selecting previously unselected package python3-pbr.
Preparing to unpack .../132-python3-pbr_6.1.0-4_all.deb ...
Unpacking python3-pbr (6.1.0-4) ...
Selecting previously unselected package python3-prettytable.
Preparing to unpack .../133-python3-prettytable_3.12.0-1_all.deb ...
Unpacking python3-prettytable (3.12.0-1) ...
Selecting previously unselected package python3-stevedore.
Preparing to unpack .../134-python3-stevedore_5.3.0-4_all.deb ...
Unpacking python3-stevedore (5.3.0-4) ...
Selecting previously unselected package python3-yaml.
Preparing to unpack .../135-python3-yaml_6.0.2-1+b1_armhf.deb ...
Unpacking python3-yaml (6.0.2-1+b1) ...
Selecting previously unselected package python3-cliff.
Preparing to unpack .../136-python3-cliff_4.7.0-3_all.deb ...
Unpacking python3-cliff (4.7.0-3) ...
Selecting previously unselected package python3-coverage.
Preparing to unpack .../137-python3-coverage_7.6.0+dfsg1-2+b1_armhf.deb ...
Unpacking python3-coverage (7.6.0+dfsg1-2+b1) ...
Selecting previously unselected package python3-cryptography.
Preparing to unpack .../138-python3-cryptography_43.0.0-1_armhf.deb ...
Unpacking python3-cryptography (43.0.0-1) ...
Selecting previously unselected package python3-dateutil.
Preparing to unpack .../139-python3-dateutil_2.9.0-3_all.deb ...
Unpacking python3-dateutil (2.9.0-3) ...
Selecting previously unselected package python3-wrapt.
Preparing to unpack .../140-python3-wrapt_1.15.0-4_armhf.deb ...
Unpacking python3-wrapt (1.15.0-4) ...
Selecting previously unselected package python3-debtcollector.
Preparing to unpack .../141-python3-debtcollector_3.0.0-3_all.deb ...
Unpacking python3-debtcollector (3.0.0-3) ...
Selecting previously unselected package python3-decorator.
Preparing to unpack .../142-python3-decorator_5.1.1-5_all.deb ...
Unpacking python3-decorator (5.1.1-5) ...
Selecting previously unselected package python3-deprecated.
Preparing to unpack .../143-python3-deprecated_1.2.15-1_all.deb ...
Unpacking python3-deprecated (1.2.15-1) ...
Selecting previously unselected package python3-packaging.
Preparing to unpack .../144-python3-packaging_24.2-1_all.deb ...
Unpacking python3-packaging (24.2-1) ...
Selecting previously unselected package python3-deprecation.
Preparing to unpack .../145-python3-deprecation_2.1.0-3_all.deb ...
Unpacking python3-deprecation (2.1.0-3) ...
Selecting previously unselected package python3-dnspython.
Preparing to unpack .../146-python3-dnspython_2.7.0-1_all.deb ...
Unpacking python3-dnspython (2.7.0-1) ...
Selecting previously unselected package python3-markupsafe.
Preparing to unpack .../147-python3-markupsafe_2.1.5-1+b2_armhf.deb ...
Unpacking python3-markupsafe (2.1.5-1+b2) ...
Selecting previously unselected package python3-mako.
Preparing to unpack .../148-python3-mako_1.3.6-1_all.deb ...
Unpacking python3-mako (1.3.6-1) ...
Selecting previously unselected package python3-dogpile.cache.
Preparing to unpack .../149-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 .../150-python3-protobuf_3.21.12-10+b1_armhf.deb ...
Unpacking python3-protobuf (3.21.12-10+b1) ...
Selecting previously unselected package python3-grpcio.
Preparing to unpack .../151-python3-grpcio_1.51.1-5+b1_armhf.deb ...
Unpacking python3-grpcio (1.51.1-5+b1) ...
Selecting previously unselected package python3-six.
Preparing to unpack .../152-python3-six_1.17.0-1_all.deb ...
Unpacking python3-six (1.17.0-1) ...
Selecting previously unselected package python3-tenacity.
Preparing to unpack .../153-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 .../154-python3-etcd3_0.12.0-3_all.deb ...
Unpacking python3-etcd3 (0.12.0-3) ...
Selecting previously unselected package python3-greenlet.
Preparing to unpack .../155-python3-greenlet_3.1.0-1+b1_armhf.deb ...
Unpacking python3-greenlet (3.1.0-1+b1) ...
Selecting previously unselected package python3-futurist.
Preparing to unpack .../156-python3-futurist_3.0.0-3_all.deb ...
Unpacking python3-futurist (3.0.0-3) ...
Selecting previously unselected package python3-idna.
Preparing to unpack .../157-python3-idna_3.8-2_all.deb ...
Unpacking python3-idna (3.8-2) ...
Selecting previously unselected package python3-urllib3.
Preparing to unpack .../158-python3-urllib3_2.2.3-4_all.deb ...
Unpacking python3-urllib3 (2.2.3-4) ...
Selecting previously unselected package python3-requests.
Preparing to unpack .../159-python3-requests_2.32.3+dfsg-1_all.deb ...
Unpacking python3-requests (2.32.3+dfsg-1) ...
Selecting previously unselected package python3-etcd3gw.
Preparing to unpack .../160-python3-etcd3gw_2.4.2-3_all.deb ...
Unpacking python3-etcd3gw (2.4.2-3) ...
Selecting previously unselected package python3-eventlet.
Preparing to unpack .../161-python3-eventlet_0.36.1-11_all.deb ...
Unpacking python3-eventlet (0.36.1-11) ...
Selecting previously unselected package python3-extras.
Preparing to unpack .../162-python3-extras_1.0.0-6_all.deb ...
Unpacking python3-extras (1.0.0-6) ...
Selecting previously unselected package python3-monotonic.
Preparing to unpack .../163-python3-monotonic_1.6-3_all.deb ...
Unpacking python3-monotonic (1.6-3) ...
Selecting previously unselected package python3-fasteners.
Preparing to unpack .../164-python3-fasteners_0.18-2_all.deb ...
Unpacking python3-fasteners (0.18-2) ...
Selecting previously unselected package python3-testtools.
Preparing to unpack .../165-python3-testtools_2.7.2-4_all.deb ...
Unpacking python3-testtools (2.7.2-4) ...
Selecting previously unselected package python3-fixtures.
Preparing to unpack .../166-python3-fixtures_4.1.0-3_all.deb ...
Unpacking python3-fixtures (4.1.0-3) ...
Selecting previously unselected package python3-flexcache.
Preparing to unpack .../167-python3-flexcache_0.3-2_all.deb ...
Unpacking python3-flexcache (0.3-2) ...
Selecting previously unselected package python3-flexparser.
Preparing to unpack .../168-python3-flexparser_0.4-1_all.deb ...
Unpacking python3-flexparser (0.4-1) ...
Selecting previously unselected package python3-zope.event.
Preparing to unpack .../169-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 .../170-python3-zope.interface_7.2-1_armhf.deb ...
Unpacking python3-zope.interface (7.2-1) ...
Selecting previously unselected package python3-gevent.
Preparing to unpack .../171-python3-gevent_24.11.1-1_armhf.deb ...
Unpacking python3-gevent (24.11.1-1) ...
Selecting previously unselected package python3-ptyprocess.
Preparing to unpack .../172-python3-ptyprocess_0.7.0-6_all.deb ...
Unpacking python3-ptyprocess (0.7.0-6) ...
Selecting previously unselected package python3-pexpect.
Preparing to unpack .../173-python3-pexpect_4.9-3_all.deb ...
Unpacking python3-pexpect (4.9-3) ...
Selecting previously unselected package smartmontools.
Preparing to unpack .../174-smartmontools_7.4-2_armhf.deb ...
Unpacking smartmontools (7.4-2) ...
Selecting previously unselected package python3-hardware.
Preparing to unpack .../175-python3-hardware_0.30.0-4_all.deb ...
Unpacking python3-hardware (0.30.0-4) ...
Selecting previously unselected package python3-ifaddr.
Preparing to unpack .../176-python3-ifaddr_0.2.0-1_all.deb ...
Unpacking python3-ifaddr (0.2.0-1) ...
Selecting previously unselected package python3-netaddr.
Preparing to unpack .../177-python3-netaddr_0.10.1-2_all.deb ...
Unpacking python3-netaddr (0.10.1-2) ...
Selecting previously unselected package python3-oslo.i18n.
Preparing to unpack .../178-python3-oslo.i18n_6.4.0-3_all.deb ...
Unpacking python3-oslo.i18n (6.4.0-3) ...
Selecting previously unselected package python3-oslo.context.
Preparing to unpack .../179-python3-oslo.context_5.6.0-3_all.deb ...
Unpacking python3-oslo.context (5.6.0-3) ...
Selecting previously unselected package python3-msgpack.
Preparing to unpack .../180-python3-msgpack_1.0.3-3+b3_armhf.deb ...
Unpacking python3-msgpack (1.0.3-3+b3) ...
Selecting previously unselected package python3-iso8601.
Preparing to unpack .../181-python3-iso8601_2.1.0-2_all.deb ...
Unpacking python3-iso8601 (2.1.0-2) ...
Selecting previously unselected package python3-netifaces:armhf.
Preparing to unpack .../182-python3-netifaces_0.11.0-2+b5_armhf.deb ...
Unpacking python3-netifaces:armhf (0.11.0-2+b5) ...
Selecting previously unselected package python3-pyparsing.
Preparing to unpack .../183-python3-pyparsing_3.1.2-1_all.deb ...
Unpacking python3-pyparsing (3.1.2-1) ...
Selecting previously unselected package python3-tz.
Preparing to unpack .../184-python3-tz_2024.2-1_all.deb ...
Unpacking python3-tz (2024.2-1) ...
Selecting previously unselected package python3-oslo.utils.
Preparing to unpack .../185-python3-oslo.utils_7.3.0-4_all.deb ...
Unpacking python3-oslo.utils (7.3.0-4) ...
Selecting previously unselected package python3-oslo.serialization.
Preparing to unpack .../186-python3-oslo.serialization_5.5.0-3_all.deb ...
Unpacking python3-oslo.serialization (5.5.0-3) ...
Selecting previously unselected package python3-pyasyncore.
Preparing to unpack .../187-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 .../188-python3-oslo.log_6.1.2-4_all.deb ...
Unpacking python3-oslo.log (6.1.2-4) ...
Selecting previously unselected package python3-rfc3986.
Preparing to unpack .../189-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 .../190-python3-oslo.config_1%3a9.6.0-6_all.deb ...
Unpacking python3-oslo.config (1:9.6.0-6) ...
Selecting previously unselected package python3-oslo.concurrency.
Preparing to unpack .../191-python3-oslo.concurrency_6.1.0-4_all.deb ...
Unpacking python3-oslo.concurrency (6.1.0-4) ...
Selecting previously unselected package python3-legacy-cgi.
Preparing to unpack .../192-python3-legacy-cgi_2.6.1-2_all.deb ...
Unpacking python3-legacy-cgi (2.6.1-2) ...
Selecting previously unselected package python3-webob.
Preparing to unpack .../193-python3-webob_1%3a1.8.7-3_all.deb ...
Unpacking python3-webob (1:1.8.7-3) ...
Selecting previously unselected package python3-zeroconf.
Preparing to unpack .../194-python3-zeroconf_0.136.2-1_all.deb ...
Unpacking python3-zeroconf (0.136.2-1) ...
Selecting previously unselected package python3-ironic-lib.
Preparing to unpack .../195-python3-ironic-lib_6.2.0-3_all.deb ...
Unpacking python3-ironic-lib (6.2.0-3) ...
Selecting previously unselected package python3-jinja2.
Preparing to unpack .../196-python3-jinja2_3.1.3-1.1_all.deb ...
Unpacking python3-jinja2 (3.1.3-1.1) ...
Selecting previously unselected package python3-jmespath.
Preparing to unpack .../197-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 .../198-python3-json-pointer_2.4-3_all.deb ...
Unpacking python3-json-pointer (2.4-3) ...
Selecting previously unselected package python3-jsonpatch.
Preparing to unpack .../199-python3-jsonpatch_1.32-5_all.deb ...
Unpacking python3-jsonpatch (1.32-5) ...
Selecting previously unselected package python3-jwt.
Preparing to unpack .../200-python3-jwt_2.7.0-1_all.deb ...
Unpacking python3-jwt (2.7.0-1) ...
Selecting previously unselected package python3-kerberos.
Preparing to unpack .../201-python3-kerberos_1.1.14-3.1+b10_armhf.deb ...
Unpacking python3-kerberos (1.1.14-3.1+b10) ...
Selecting previously unselected package python3-pure-sasl.
Preparing to unpack .../202-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 .../203-python3-kazoo_2.9.0-2_all.deb ...
Unpacking python3-kazoo (2.9.0-2) ...
Selecting previously unselected package python3-lxml:armhf.
Preparing to unpack .../204-python3-lxml_5.3.0-1+b1_armhf.deb ...
Unpacking python3-lxml:armhf (5.3.0-1+b1) ...
Selecting previously unselected package python3-oauthlib.
Preparing to unpack .../205-python3-oauthlib_3.2.2-2_all.deb ...
Unpacking python3-oauthlib (3.2.2-2) ...
Selecting previously unselected package python3-os-service-types.
Preparing to unpack .../206-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 .../207-python3-keystoneauth1_5.8.0-3_all.deb ...
Unpacking python3-keystoneauth1 (5.8.0-3) ...
Selecting previously unselected package python3-platformdirs.
Preparing to unpack .../208-python3-platformdirs_4.3.6-1_all.deb ...
Unpacking python3-platformdirs (4.3.6-1) ...
Selecting previously unselected package python3-requestsexceptions.
Preparing to unpack .../209-python3-requestsexceptions_1.4.0-5_all.deb ...
Unpacking python3-requestsexceptions (1.4.0-5) ...
Selecting previously unselected package python3-openstacksdk.
Preparing to unpack .../210-python3-openstacksdk_4.0.1-3_all.deb ...
Unpacking python3-openstacksdk (4.0.1-3) ...
Selecting previously unselected package python3-os-client-config.
Preparing to unpack .../211-python3-os-client-config_2.1.0-3_all.deb ...
Unpacking python3-os-client-config (2.1.0-3) ...
Selecting previously unselected package python3-tempita.
Preparing to unpack .../212-python3-tempita_0.6.0-1_all.deb ...
Unpacking python3-tempita (0.6.0-1) ...
Selecting previously unselected package python3-paste.
Preparing to unpack .../213-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 .../214-python3-pastedeploy-tpl_3.1-1_all.deb ...
Unpacking python3-pastedeploy-tpl (3.1-1) ...
Selecting previously unselected package python3-pastedeploy.
Preparing to unpack .../215-python3-pastedeploy_3.1-1_all.deb ...
Unpacking python3-pastedeploy (3.1-1) ...
Selecting previously unselected package python3-repoze.lru.
Preparing to unpack .../216-python3-repoze.lru_0.7-3_all.deb ...
Unpacking python3-repoze.lru (0.7-3) ...
Selecting previously unselected package python3-routes.
Preparing to unpack .../217-python3-routes_2.5.1-6_all.deb ...
Unpacking python3-routes (2.5.1-6) ...
Selecting previously unselected package python3-yappi.
Preparing to unpack .../218-python3-yappi_1.6.10-2_armhf.deb ...
Unpacking python3-yappi (1.6.10-2) ...
Selecting previously unselected package python3-oslo.service.
Preparing to unpack .../219-python3-oslo.service_3.5.0-3_all.deb ...
Unpacking python3-oslo.service (3.5.0-3) ...
Selecting previously unselected package python3-tomlkit.
Preparing to unpack .../220-python3-tomlkit_0.13.2-1_all.deb ...
Unpacking python3-tomlkit (0.13.2-1) ...
Selecting previously unselected package python3-voluptuous.
Preparing to unpack .../221-python3-voluptuous_0.14.2-1_all.deb ...
Unpacking python3-voluptuous (0.14.2-1) ...
Selecting previously unselected package python3-subunit.
Preparing to unpack .../222-python3-subunit_1.4.2-3_all.deb ...
Unpacking python3-subunit (1.4.2-3) ...
Selecting previously unselected package subunit.
Preparing to unpack .../223-subunit_1.4.2-3_all.deb ...
Unpacking subunit (1.4.2-3) ...
Selecting previously unselected package python3-stestr.
Preparing to unpack .../224-python3-stestr_4.1.0-3_all.deb ...
Unpacking python3-stestr (4.1.0-3) ...
Selecting previously unselected package python3-oslotest.
Preparing to unpack .../225-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 .../226-python3-pint_0.24.4-1_all.deb ...
Unpacking python3-pint (0.24.4-1) ...
Selecting previously unselected package python3-psutil.
Preparing to unpack .../227-python3-psutil_5.9.8-2_armhf.deb ...
Unpacking python3-psutil (5.9.8-2) ...
Selecting previously unselected package python3-pymemcache.
Preparing to unpack .../228-python3-pymemcache_4.0.0-8_all.deb ...
Unpacking python3-pymemcache (4.0.0-8) ...
Selecting previously unselected package python3-pymysql.
Preparing to unpack .../229-python3-pymysql_1.1.1-2_all.deb ...
Unpacking python3-pymysql (1.1.1-2) ...
Selecting previously unselected package python3-pyudev.
Preparing to unpack .../230-python3-pyudev_0.24.3-1_all.deb ...
Unpacking python3-pyudev (0.24.3-1) ...
Selecting previously unselected package python3-redis.
Preparing to unpack .../231-python3-redis_4.3.4-4_all.deb ...
Unpacking python3-redis (4.3.4-4) ...
Selecting previously unselected package python3-zake.
Preparing to unpack .../232-python3-zake_0.2.2-8_all.deb ...
Unpacking python3-zake (0.2.2-8) ...
Selecting previously unselected package python3-tooz.
Preparing to unpack .../233-python3-tooz_6.3.0-4_all.deb ...
Unpacking python3-tooz (6.3.0-4) ...
Selecting previously unselected package python3-werkzeug.
Preparing to unpack .../234-python3-werkzeug_3.1.3-2_all.deb ...
Unpacking python3-werkzeug (3.1.3-2) ...
Selecting previously unselected package qemu-utils.
Preparing to unpack .../235-qemu-utils_1%3a9.2.0+ds-3+b1_armhf.deb ...
Unpacking qemu-utils (1:9.2.0+ds-3+b1) ...
Setting up libconfig9:armhf (1.5-0.4+b2) ...
Setting up smartmontools (7.4-2) ...
/var/lib/smartmontools/drivedb/drivedb.h 7.3/5528 newly installed (NOT VERIFIED)
Setting up media-types (10.1.0) ...
Setting up libpipeline1:armhf (1.5.8-1) ...
Setting up libev4t64:armhf (1:4.33-2.1+b1) ...
Setting up libprotobuf32t64:armhf (3.21.12-10+b1) ...
Setting up libxau6:armhf (1:1.0.11-1) ...
Setting up libxdmcp6:armhf (1:1.1.5-1) ...
Setting up libsubunit-perl (1.4.2-3) ...
Setting up libkeyutils1:armhf (1.6.3-4) ...
Setting up pci.ids (0.0~2024.11.25-1) ...
Setting up libxcb1:armhf (1.17.0-2+b1) ...
Setting up libicu72:armhf (72.1-5+b1) ...
Setting up bsdextrautils (2.40.2-13) ...
Setting up libgpg-error0:armhf (1.51-3) ...
Setting up libmagic-mgc (1:5.45-3+b1) ...
Setting up libarchive-zip-perl (1.68-1) ...
Setting up libyaml-0-2:armhf (0.2.5-2) ...
Setting up freeipmi-common (1.6.13-3) ...
Setting up libtirpc-common (1.3.4+ds-1.3) ...
Setting up libdebhelper-perl (13.23) ...
Setting up libmagic1t64:armhf (1:5.45-3+b1) ...
Setting up x11-common (1:7.7+23.1) ...
invoke-rc.d: could not determine current runlevel
Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix.
Setting up gettext-base (0.22.5-3) ...
Setting up m4 (1.4.19-4) ...
Setting up libgcrypt20:armhf (1.11.0-7) ...
Setting up hdparm (9.65+ds-1.1) ...
Setting up libcom-err2:armhf (1.47.2-1) ...
Setting up file (1:5.45-3+b1) ...
Setting up lshw (02.19.git.2021.06.19.996aaad9c7-2.1) ...
Setting up libelf1t64:armhf (0.192-4) ...
Setting up python-babel-localedata (2.16.0-1) ...
Setting up libkrb5support0:armhf (1.21.3-3) ...
Setting up tzdata (2024b-4) ...

Current default time zone: 'Etc/UTC'
Local time is now:      Sat Jan  4 21:55:54 UTC 2025.
Universal Time is now:  Sat Jan  4 21:55:54 UTC 2025.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

Setting up libpython3.13-minimal:armhf (3.13.1-3) ...
Setting up autotools-dev (20220109.1) ...
Setting up libexpat1-dev:armhf (2.6.4-1) ...
Setting up libx11-data (2:1.8.10-2) ...
Setting up python3-pastedeploy-tpl (3.1-1) ...
Setting up libproc2-0:armhf (2:4.0.4-6) ...
Setting up libunistring5:armhf (1.3-1) ...
Setting up libcares2:armhf (1.34.4-2.1) ...
Setting up libmnl0:armhf (1.0.5-3) ...
Setting up autopoint (0.22.5-3) ...
Setting up libk5crypto3:armhf (1.21.3-3) ...
Setting up autoconf (2.72-3) ...
Setting up libfreeipmi17 (1.6.13-3) ...
Setting up zlib1g-dev:armhf (1:1.3.dfsg+really1.3.1-1+b1) ...
Setting up libpci3:armhf (1:3.13.0-1+b1) ...
Setting up libffi8:armhf (3.4.6-1) ...
Setting up libnuma1:armhf (2.0.18-1+b1) ...
Setting up dwz (0.15-1+b2) ...
Setting up libaio1t64:armhf (0.3.113-8+b1) ...
Setting up sensible-utils (0.0.24) ...
Setting up libuchardet0:armhf (0.0.8-1+b2) ...
Setting up procps (2:4.0.4-6) ...
Setting up libnl-3-200:armhf (3.7.0-0.3+b1) ...
Setting up libtasn1-6:armhf (4.19.0-3+b3) ...
Setting up python3.13-minimal (3.13.1-3) ...
Setting up libx11-6:armhf (2:1.8.10-2) ...
Setting up netbase (6.4) ...
Setting up libabsl20230802:armhf (20230802.1-4) ...
Setting up sgml-base (1.31) ...
Setting up libkrb5-3:armhf (1.21.3-3) ...
Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ...
Setting up liburing2:armhf (2.8-1) ...
Setting up lsb-release (12.1-1) ...
Setting up openssl (3.3.2-2) ...
Setting up readline-common (8.2-6) ...
Setting up libxml2:armhf (2.12.7+dfsg+really2.9.14-0.2+b1) ...
Setting up libonig5:armhf (6.9.9-1+b1) ...
Setting up libkmod2:armhf (33+20240816-2) ...
Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ...
Setting up ethtool (1:6.11-1) ...
Setting up automake (1:1.16.5-1.3) ...
update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode
Setting up libfile-stripnondeterminism-perl (1.14.0-1) ...
Setting up libice6:armhf (2:1.1.1-1) ...
Setting up libre2-11:armhf (20240501-3+b1) ...
Setting up gettext (0.22.5-3) ...
Setting up libtool (2.4.7-8) ...
Setting up libjq1:armhf (1.7.1-3+b1) ...
Setting up libxext6:armhf (2:1.3.4-1+b2) ...
Setting up libidn2-0:armhf (2.3.7-2+b1) ...
Setting up libffi-dev:armhf (3.4.6-1) ...
Setting up intltool-debian (0.35.0+20060710.6) ...
Setting up dh-autoreconf (20) ...
Setting up ca-certificates (20241223) ...
Updating certificates in /etc/ssl/certs...
152 added, 0 removed; done.
Setting up lldpad (1.1.1-1) ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of start.
Setting up libglib2.0-0t64:armhf (2.82.4-1) ...
No schema files found: doing nothing.
Setting up libp11-kit0:armhf (0.25.5-3) ...
Setting up libgssapi-krb5-2:armhf (1.21.3-3) ...
Setting up pciutils (1:3.13.0-1+b1) ...
Setting up libjs-sphinxdoc (8.1.3-3) ...
Setting up libreadline8t64:armhf (8.2-6) ...
Setting up dh-strip-nondeterminism (1.14.0-1) ...
Setting up groff-base (1.23.0-7) ...
Setting up xml-core (0.19) ...
Setting up jq (1.7.1-3+b1) ...
Setting up libxslt1.1:armhf (1.1.35-1.1+b1) ...
Setting up libsm6:armhf (2:1.2.4-1) ...
Setting up libpython3.13-stdlib:armhf (3.13.1-3) ...
Setting up ipmitool (1.8.19-7.1) ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of start.
Setting up libpython3.13:armhf (3.13.1-3) ...
Setting up libgnutls30t64:armhf (3.8.8-2) ...
Setting up libtirpc3t64:armhf (1.3.4+ds-1.3+b1) ...
Setting up python3.13 (3.13.1-3) ...
Setting up po-debconf (1.0.21+nmu1) ...
Setting up libpsl5t64:armhf (0.21.2-1.1+b1) ...
Setting up man-db (2.13.0-1) ...
Not building database; man-db/auto-update is not 'true'.
Setting up libpython3.13-dev:armhf (3.13.1-3) ...
Setting up libxt6t64:armhf (1:1.2.1-1.2+b1) ...
Setting up libnsl2:armhf (1.3.0-3+b3) ...
Setting up qemu-utils (1:9.2.0+ds-3+b1) ...
Setting up libxmu6:armhf (2:1.1.3-3+b3) ...
Setting up libpython3.12-stdlib:armhf (3.12.8-3) ...
Setting up wget (1.24.5-2) ...
Setting up python3.13-dev (3.13.1-3) ...
Setting up python3.12 (3.12.8-3) ...
Setting up debhelper (13.23) ...
Setting up libpython3.12t64:armhf (3.12.8-3) ...
Setting up xclip (0.13-4) ...
Setting up ieee-data (20240722) ...
Setting up libpython3-stdlib:armhf (3.12.8-1) ...
Setting up python3 (3.12.8-1) ...
Setting up libpython3.12-dev:armhf (3.12.8-3) ...
Setting up python3-zipp (3.21.0-1) ...
Setting up python3-autocommand (2.2.2-3) ...
Setting up python3-markupsafe (2.1.5-1+b2) ...
Setting up python3-wheel (0.45.1-1) ...
Setting up python3-platformdirs (4.3.6-1) ...
Setting up python3-psutil (5.9.8-2) ...
Setting up python3-tz (2024.2-1) ...
Setting up python3-ifaddr (0.2.0-1) ...
Setting up python3-monotonic (1.6-3) ...
Setting up python3-async-timeout (5.0.1-1) ...
Setting up python3-six (1.17.0-1) ...
Setting up python3-roman (4.2-1) ...
Setting up python3-decorator (5.1.1-5) ...
Setting up python3-jinja2 (3.1.3-1.1) ...
Setting up python3-tempita (0.6.0-1) ...
Setting up python3-packaging (24.2-1) ...
Setting up python3-iso8601 (2.1.0-2) ...
Setting up python3-wcwidth (0.2.13+dfsg1-1) ...
Setting up python3-pyparsing (3.1.2-1) ...
Setting up python3-certifi (2024.8.30+dfsg-1) ...
Setting up python3-werkzeug (3.1.3-2) ...
Setting up python3-jmespath (1.0.1-1) ...
Setting up python3-greenlet (3.1.0-1+b1) ...
Setting up python3-idna (3.8-2) ...
Setting up python3-wrapt (1.15.0-4) ...
Setting up python3.12-dev (3.12.8-3) ...
Setting up python3-deprecation (2.1.0-3) ...
Setting up python3-typing-extensions (4.12.2-2) ...
Setting up python3-pymysql (1.1.1-2) ...
Setting up python3-fasteners (0.18-2) ...
Setting up python3-pip (24.3.1+dfsg-1) ...
Setting up python3-urllib3 (2.2.3-4) ...
Setting up python3-netifaces:armhf (0.11.0-2+b5) ...
Setting up python3-legacy-cgi (2.6.1-2) ...
Setting up python3-netaddr (0.10.1-2) ...
Setting up python3-json-pointer (2.4-3) ...
Setting up python3-lxml:armhf (5.3.0-1+b1) ...
Setting up python3-dnspython (2.7.0-1) ...
Setting up python3-dateutil (2.9.0-3) ...
Setting up python3-flexcache (0.3-2) ...
Setting up python3-msgpack (1.0.3-3+b3) ...
Setting up python3-voluptuous (0.14.2-1) ...
Setting up python3-pyasyncore (1.0.2-3) ...
Setting up python3-pyudev (0.24.3-1) ...
Setting up python3-protobuf (3.21.12-10+b1) ...
Setting up python3-prettytable (3.12.0-1) ...
Setting up python3-tomlkit (0.13.2-1) ...
Setting up python3-deprecated (1.2.15-1) ...
Setting up python3-cffi-backend:armhf (1.17.1-2+b1) ...
Setting up python3-webob (1:1.8.7-3) ...
Setting up python3-ptyprocess (0.7.0-6) ...
Setting up python3-blinker (1.9.0-1) ...
Setting up python3-more-itertools (10.5.0-1) ...
Setting up python3-pymemcache (4.0.0-8) ...
Setting up libpython3-dev:armhf (3.12.8-1) ...
Setting up python3-jaraco.functools (4.1.0-1) ...
Setting up python3-repoze.lru (0.7-3) ...
Setting up python3-jaraco.context (6.0.0-1) ...
Setting up python3-jwt (2.7.0-1) ...
Setting up python3-zeroconf (0.136.2-1) ...
Setting up python3-charset-normalizer (3.4.0-1+b1) ...
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) ...
Setting up python3-autopage (0.4.0-4) ...
Setting up python3-typeguard (4.4.1-1) ...
Setting up python3-extras (1.0.0-6) ...
Setting up python3-kerberos (1.1.14-3.1+b10) ...
Setting up python3-all (3.12.8-1) ...
Setting up python3-coverage (7.6.0+dfsg1-2+b1) ...
Setting up python3-yaml (6.0.2-1+b1) ...
Setting up python3-pyperclip (1.8.2-2) ...
Setting up openstack-pkg-tools (132) ...
Setting up python3-routes (2.5.1-6) ...
Setting up python3-inflect (7.3.1-2) ...
Setting up python3-eventlet (0.36.1-11) ...
Setting up python3-flexparser (0.4-1) ...
Setting up python3-rfc3986 (2.0.0-3) ...
Setting up python3-cmd2 (2.5.7+ds-1) ...
Setting up libpython3-all-dev:armhf (3.12.8-1) ...
Setting up python3-jaraco.text (4.0.0-1) ...
Setting up python3-pexpect (4.9-3) ...
Setting up python3-cryptography (43.0.0-1) ...
Setting up python3-dev (3.12.8-1) ...
Setting up python3-grpcio (1.51.1-5+b1) ...
Setting up python3-redis (4.3.4-4) ...
Setting up python3-etcd3 (0.12.0-3) ...
Setting up python3-pkg-resources (75.6.0-1) ...
Setting up python3-all-dev (3.12.8-1) ...
Setting up python3-setuptools (75.6.0-1) ...
Setting up python3-pure-sasl (0.5.1+dfsg1-5) ...
Setting up python3-babel (2.16.0-1) ...
update-alternatives: using /usr/bin/pybabel-python3 to provide /usr/bin/pybabel (pybabel) in auto mode
Setting up python3-zope.event (5.0-0.1) ...
Setting up python3-zope.interface (7.2-1) ...
Setting up python3-pbr (6.1.0-4) ...
Setting up python3-requestsexceptions (1.4.0-5) ...
Setting up python3-futurist (3.0.0-3) ...
Setting up python3-debtcollector (3.0.0-3) ...
Setting up python3-gevent (24.11.1-1) ...
Setting up python3-pint (0.24.4-1) ...
Setting up python3-oauthlib (3.2.2-2) ...
Setting up python3-chardet (5.2.0+dfsg-1) ...
Setting up python3-paste (3.10.1-1) ...
Setting up python3-kazoo (2.9.0-2) ...
Setting up python3-requests (2.32.3+dfsg-1) ...
Setting up python3-zake (0.2.2-8) ...
Setting up python3-oslo.context (5.6.0-3) ...
Setting up python3-os-service-types (1.7.0-5) ...
Setting up python3-stevedore (5.3.0-4) ...
Setting up python3-oslo.i18n (6.4.0-3) ...
Setting up python3-mako (1.3.6-1) ...
Setting up python3-keystoneauth1 (5.8.0-3) ...
Setting up python3-hardware (0.30.0-4) ...
Setting up dh-python (6.20241217) ...
Setting up python3-pastedeploy (3.1-1) ...
Setting up python3-etcd3gw (2.4.2-3) ...
Setting up python3-yappi (1.6.10-2) ...
Setting up python3-oslo.utils (7.3.0-4) ...
Setting up python3-dogpile.cache (1.3.3-1) ...
Setting up python3-openstacksdk (4.0.1-3) ...
Setting up python3-os-client-config (2.1.0-3) ...
Setting up python3-oslo.serialization (5.5.0-3) ...
Setting up python3-tooz (6.3.0-4) ...
Setting up python3-fixtures (4.1.0-3) ...
Setting up python3-testtools (2.7.2-4) ...
Setting up python3-subunit (1.4.2-3) ...
Setting up subunit (1.4.2-3) ...
Processing triggers for libc-bin (2.40-5) ...
Processing triggers for sgml-base (1.31) ...
Setting up docutils-common (0.21.2+dfsg-2) ...
Processing triggers for sgml-base (1.31) ...
Setting up python3-docutils (0.21.2+dfsg-2) ...
Setting up python3-cliff (4.7.0-3) ...
Setting up python3-oslo.config (1:9.6.0-6) ...
Setting up python3-oslo.concurrency (6.1.0-4) ...
Setting up python3-oslo.log (6.1.2-4) ...
Setting up python3-stestr (4.1.0-3) ...
Setting up python3-ironic-lib (6.2.0-3) ...
Setting up python3-oslo.service (3.5.0-3) ...
Setting up python3-oslotest (1:5.0.0-4) ...
Processing triggers for ca-certificates (20241223) ...
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.36.2-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
I: Building the package
I: user script /srv/workspace/pbuilder/8816/tmp/hooks/A99_set_merged_usr starting
Not re-configuring usrmerge for unstable
I: user script /srv/workspace/pbuilder/8816/tmp/hooks/A99_set_merged_usr finished
hostname: Name or service not known
I: Running cd /build/reproducible-path/ironic-python-agent-9.14.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../ironic-python-agent_9.14.0-5_source.changes
dpkg-buildpackage: info: source package ironic-python-agent
dpkg-buildpackage: info: source version 9.14.0-5
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Thomas Goirand <zigo@debian.org>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture armhf
 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-9.14.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-9.14.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/__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:66: 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)
running config
I: pybuild base:311: python3.12 setup.py config 
/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:66: 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)
running config
   debian/rules override_dh_auto_build
make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-9.14.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-9.14.0'
   debian/rules override_dh_auto_test
make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-9.14.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-9.14.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-9.14.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-9.14.0'
   debian/rules override_dh_install
make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-9.14.0'
make[1]: pyversions: No such file or directory
py3versions: no X-Python3-Version in control file, using supported versions
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 3.12'
+ '[' 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-9.14.0/debian/tmp
/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:66: 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)
running install
[pbr] Generating AUTHORS
[pbr] AUTHORS complete (0.0s)
running build
running build_py
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/api
copying ironic_python_agent/api/app.py -> build/lib/ironic_python_agent/api
copying ironic_python_agent/api/__init__.py -> build/lib/ironic_python_agent/api
creating build/lib/ironic_python_agent/tests/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
copying ironic_python_agent/tests/functional/base.py -> build/lib/ironic_python_agent/tests/functional
copying ironic_python_agent/utils.py -> build/lib/ironic_python_agent
copying ironic_python_agent/inspect.py -> build/lib/ironic_python_agent
copying ironic_python_agent/version.py -> build/lib/ironic_python_agent
copying ironic_python_agent/hardware.py -> build/lib/ironic_python_agent
copying ironic_python_agent/inject_files.py -> build/lib/ironic_python_agent
copying ironic_python_agent/encoding.py -> build/lib/ironic_python_agent
copying ironic_python_agent/errors.py -> build/lib/ironic_python_agent
copying ironic_python_agent/format_inspector.py -> build/lib/ironic_python_agent
copying ironic_python_agent/tls_utils.py -> build/lib/ironic_python_agent
copying ironic_python_agent/numa_inspector.py -> build/lib/ironic_python_agent
copying ironic_python_agent/raid_utils.py -> build/lib/ironic_python_agent
copying ironic_python_agent/__init__.py -> build/lib/ironic_python_agent
copying ironic_python_agent/burnin.py -> build/lib/ironic_python_agent
copying ironic_python_agent/dmi_inspector.py -> build/lib/ironic_python_agent
copying ironic_python_agent/netutils.py -> build/lib/ironic_python_agent
copying ironic_python_agent/agent.py -> build/lib/ironic_python_agent
copying ironic_python_agent/partition_utils.py -> build/lib/ironic_python_agent
copying ironic_python_agent/qemu_img.py -> build/lib/ironic_python_agent
copying ironic_python_agent/config.py -> build/lib/ironic_python_agent
copying ironic_python_agent/inspector.py -> build/lib/ironic_python_agent
copying ironic_python_agent/disk_utils.py -> build/lib/ironic_python_agent
copying ironic_python_agent/ironic_api_client.py -> build/lib/ironic_python_agent
copying ironic_python_agent/disk_partitioner.py -> build/lib/ironic_python_agent
copying ironic_python_agent/efi_utils.py -> build/lib/ironic_python_agent
creating 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/clean.py -> build/lib/ironic_python_agent/extensions
copying ironic_python_agent/extensions/__init__.py -> build/lib/ironic_python_agent/extensions
copying ironic_python_agent/extensions/flow.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/deploy.py -> build/lib/ironic_python_agent/extensions
copying ironic_python_agent/extensions/poll.py -> build/lib/ironic_python_agent/extensions
copying ironic_python_agent/extensions/rescue.py -> build/lib/ironic_python_agent/extensions
copying ironic_python_agent/extensions/base.py -> build/lib/ironic_python_agent/extensions
creating build/lib/ironic_python_agent/cmd
copying ironic_python_agent/cmd/inspect.py -> build/lib/ironic_python_agent/cmd
copying ironic_python_agent/cmd/__init__.py -> build/lib/ironic_python_agent/cmd
copying ironic_python_agent/cmd/agent.py -> build/lib/ironic_python_agent/cmd
creating build/lib/ironic_python_agent/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
copying ironic_python_agent/hardware_managers/cna.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
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_base.py -> build/lib/ironic_python_agent/tests/unit/extensions
copying ironic_python_agent/tests/unit/extensions/__init__.py -> build/lib/ironic_python_agent/tests/unit/extensions
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_deploy.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_log.py -> build/lib/ironic_python_agent/tests/unit/extensions
copying ironic_python_agent/tests/unit/extensions/test_flow.py -> build/lib/ironic_python_agent/tests/unit/extensions
copying ironic_python_agent/tests/unit/extensions/test_clean.py -> build/lib/ironic_python_agent/tests/unit/extensions
copying ironic_python_agent/tests/unit/extensions/test_poll.py -> build/lib/ironic_python_agent/tests/unit/extensions
copying ironic_python_agent/tests/unit/extensions/test_image.py -> build/lib/ironic_python_agent/tests/unit/extensions
copying ironic_python_agent/tests/unit/test_netutils.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_inspector.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_errors.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_multi_hardware.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_disk_utils.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_base.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/__init__.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_burnin.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_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_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_raid_utils.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_hardware.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/dmi_inspector_data.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_format_inspector.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_disk_partitioner.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_encoding.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_efi_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/base.py -> build/lib/ironic_python_agent/tests/unit
running egg_info
creating ironic_python_agent.egg-info
writing ironic_python_agent.egg-info/PKG-INFO
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-9.14.0/debian/tmp/usr/lib/python3/dist-packages
creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/inspect.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/version.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/hardware.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/inject_files.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/encoding.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/errors.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/format_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/tls_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests
copying build/lib/ironic_python_agent/tests/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests
creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_netutils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_errors.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_tls_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_disk_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_base.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_inject_files.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_burnin.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_api.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_qemu_img.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_raid_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_hardware.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/dmi_inspector_data.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_format_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_rescue.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_base.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_standby.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_deploy.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_service.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_log.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_flow.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_clean.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_poll.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_image.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/test_disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_numa_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers
copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_cna.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers
copying build/lib/ironic_python_agent/tests/unit/hardware_managers/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers
creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia
copying build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia
copying build/lib/ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia
copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers
copying build/lib/ironic_python_agent/tests/unit/test_encoding.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_partition_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_efi_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_agent.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/base.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit
creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional
copying build/lib/ironic_python_agent/tests/functional/test_commands.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional
copying build/lib/ironic_python_agent/tests/functional/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional
copying build/lib/ironic_python_agent/tests/functional/base.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional
copying build/lib/ironic_python_agent/numa_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/raid_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/burnin.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/dmi_inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/netutils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd
copying build/lib/ironic_python_agent/cmd/inspect.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd
copying build/lib/ironic_python_agent/cmd/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd
copying build/lib/ironic_python_agent/cmd/agent.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd
copying build/lib/ironic_python_agent/agent.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/partition_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/qemu_img.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/image.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/standby.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/log.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/clean.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/flow.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/service.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/deploy.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/poll.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/rescue.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/base.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions
creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api
copying build/lib/ironic_python_agent/api/app.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api
copying build/lib/ironic_python_agent/api/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api
creating /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers
copying build/lib/ironic_python_agent/hardware_managers/__init__.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers
copying build/lib/ironic_python_agent/hardware_managers/mlnx.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers
copying build/lib/ironic_python_agent/hardware_managers/cna.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers
copying build/lib/ironic_python_agent/config.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/inspector.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/disk_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/ironic_api_client.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/disk_partitioner.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
copying build/lib/ironic_python_agent/efi_utils.py -> /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/utils.py to utils.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspect.py to inspect.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/version.py to version.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware.py to hardware.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inject_files.py to inject_files.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/encoding.py to encoding.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/errors.py to errors.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/format_inspector.py to format_inspector.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tls_utils.py to tls_utils.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_netutils.py to test_netutils.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inspector.py to test_inspector.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_errors.py to test_errors.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware.py to test_multi_hardware.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_ironic_api_client.py to test_ironic_api_client.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_tls_utils.py to test_tls_utils.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_utils.py to test_disk_utils.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_base.py to test_base.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inject_files.py to test_inject_files.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_burnin.py to test_burnin.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_api.py to test_api.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_dmi_inspector.py to test_dmi_inspector.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py to test_multi_hardware_clean_steps.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_qemu_img.py to test_qemu_img.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_utils.py to test_utils.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_raid_utils.py to test_raid_utils.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_hardware.py to test_hardware.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/dmi_inspector_data.py to dmi_inspector_data.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_format_inspector.py to test_format_inspector.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_rescue.py to test_rescue.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_base.py to test_base.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_standby.py to test_standby.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_deploy.py to test_deploy.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_service.py to test_service.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_log.py to test_log.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_flow.py to test_flow.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_clean.py to test_clean.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_poll.py to test_poll.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py to test_image.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_partitioner.py to test_disk_partitioner.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_numa_inspector.py to test_numa_inspector.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_cna.py to test_cna.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py to test_nvidia_fw_update.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py to test_mlnx.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_encoding.py to test_encoding.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_partition_utils.py to test_partition_utils.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py to test_efi_utils.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_agent.py to test_agent.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/base.py to base.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/test_commands.py to test_commands.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/base.py to base.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/numa_inspector.py to numa_inspector.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/raid_utils.py to raid_utils.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/burnin.py to burnin.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/dmi_inspector.py to dmi_inspector.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/netutils.py to netutils.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/inspect.py to inspect.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/agent.py to agent.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/agent.py to agent.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/partition_utils.py to partition_utils.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/qemu_img.py to qemu_img.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/image.py to image.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/standby.py to standby.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/log.py to log.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/clean.py to clean.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/flow.py to flow.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/service.py to service.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/deploy.py to deploy.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/poll.py to poll.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/rescue.py to rescue.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/base.py to base.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/app.py to app.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/__init__.py to __init__.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/mlnx.py to mlnx.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/cna.py to cna.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/config.py to config.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspector.py to inspector.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_utils.py to disk_utils.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/ironic_api_client.py to ironic_api_client.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_partitioner.py to disk_partitioner.cpython-313.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/efi_utils.py to efi_utils.cpython-313.pyc
running install_egg_info
Copying ironic_python_agent.egg-info to /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent-9.14.0.egg-info
Skipping SOURCES.txt
running install_scripts
Installing ironic-collect-introspection-data script to /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/bin
Installing ironic-python-agent script to /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/bin
+ for pyvers in ${PYTHON3S}
++ pwd
+ python3.12 setup.py install --install-layout=deb --root /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp
/usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!

        ********************************************************************************
        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:66: 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)
running install
[pbr] Generating AUTHORS
[pbr] AUTHORS complete (0.0s)
running build
running build_py
running 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] Reusing existing SOURCES.txt
running install_lib
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/utils.py to utils.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspect.py to inspect.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/version.py to version.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware.py to hardware.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inject_files.py to inject_files.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/encoding.py to encoding.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/errors.py to errors.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/format_inspector.py to format_inspector.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tls_utils.py to tls_utils.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_netutils.py to test_netutils.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inspector.py to test_inspector.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_errors.py to test_errors.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware.py to test_multi_hardware.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_ironic_api_client.py to test_ironic_api_client.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_tls_utils.py to test_tls_utils.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_utils.py to test_disk_utils.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_base.py to test_base.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_inject_files.py to test_inject_files.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_burnin.py to test_burnin.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_api.py to test_api.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_dmi_inspector.py to test_dmi_inspector.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py to test_multi_hardware_clean_steps.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_qemu_img.py to test_qemu_img.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_utils.py to test_utils.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_raid_utils.py to test_raid_utils.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_hardware.py to test_hardware.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/dmi_inspector_data.py to dmi_inspector_data.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_format_inspector.py to test_format_inspector.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_rescue.py to test_rescue.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_base.py to test_base.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_standby.py to test_standby.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_deploy.py to test_deploy.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_service.py to test_service.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_log.py to test_log.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_flow.py to test_flow.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_clean.py to test_clean.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_poll.py to test_poll.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/extensions/test_image.py to test_image.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_disk_partitioner.py to test_disk_partitioner.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_numa_inspector.py to test_numa_inspector.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_cna.py to test_cna.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/test_nvidia_fw_update.py to test_nvidia_fw_update.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/nvidia/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py to test_mlnx.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_encoding.py to test_encoding.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_partition_utils.py to test_partition_utils.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_efi_utils.py to test_efi_utils.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/test_agent.py to test_agent.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/unit/base.py to base.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/test_commands.py to test_commands.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/tests/functional/base.py to base.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/numa_inspector.py to numa_inspector.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/raid_utils.py to raid_utils.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/burnin.py to burnin.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/dmi_inspector.py to dmi_inspector.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/netutils.py to netutils.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/inspect.py to inspect.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/cmd/agent.py to agent.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/agent.py to agent.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/partition_utils.py to partition_utils.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/qemu_img.py to qemu_img.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/image.py to image.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/standby.py to standby.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/log.py to log.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/clean.py to clean.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/flow.py to flow.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/service.py to service.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/deploy.py to deploy.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/poll.py to poll.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/rescue.py to rescue.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/extensions/base.py to base.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/app.py to app.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/api/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/__init__.py to __init__.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/mlnx.py to mlnx.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/hardware_managers/cna.py to cna.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/config.py to config.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/inspector.py to inspector.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_utils.py to disk_utils.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/ironic_api_client.py to ironic_api_client.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/disk_partitioner.py to disk_partitioner.cpython-312.pyc
byte-compiling /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent/efi_utils.py to efi_utils.cpython-312.pyc
running install_egg_info
removing '/build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent-9.14.0.egg-info' (and everything under it)
Copying ironic_python_agent.egg-info to /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages/ironic_python_agent-9.14.0.egg-info
Skipping SOURCES.txt
running install_scripts
Installing ironic-collect-introspection-data script to /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/bin
Installing ironic-python-agent script to /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/bin
++ pwd
+ rm -rf '/build/reproducible-path/ironic-python-agent-9.14.0/debian/python*/usr/lib/python*/dist-packages/*.pth'
++ pwd
+ rm -rf '/build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python*/dist-packages/*.pth'
pkgos-dh_auto_test --no-py2 'ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout)'
+ PKGOS_TEST_PARALLEL=yes
+ PKGOS_TEST_SERIAL=no
+ 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 3.12'
+ '[' yes = no ']'
+ '[' no = yes ']'
+ for pyvers in ${PYTHON3S}
+ '[' 3.13 = disabled ']'
++ echo 3.13
++ cut -d. -f1
+ PYMAJOR=3
+ echo '===> Testing with python (python3)'
===> Testing with python (python3)
++ pwd
+ '[' -d /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages ']'
+ '[' -z '' ']'
++ pwd
+ echo 'Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages'
Implicitly adding PYTHONPATH=/build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages
++ pwd
+ export PYTHONPATH=/build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages
+ PYTHONPATH=/build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages
+ '[' -e .stestr.conf ']'
+ '[' -x /usr/bin/python3-stestr ']'
+ STESTR=stestr
+ rm -rf .stestr
+ PYTHON=python3.13
+ stestr run --parallel --subunit 'ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout)'
+ subunit2pyunit
   ERROR [ironic_python_agent.extensions.poll] Node lookup data can only be set when the Ironic Python Agent is running in standalone mode.
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image ... ok
 WARNING [root] Something went wrong when readlink for interface eth2. Error: fake
   ERROR [root] Tried to execute fake.fake_sync_command, agent is still executing Command name: name, params: {}, status: RUNNING, result: None.
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_md5 ... ok
   ERROR [root] Invalid content error: Invalid request body: baz
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 268, in execute_command
    result = ext.execute(command_part, **kwargs)
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
ironic_python_agent.errors.InvalidContentError: Invalid request body: baz
ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success
ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success ... ok
ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone
ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone ... ok
ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success
ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdatenvidiaNicFirmwareSettings.test_update_nvidia_nic_firmware_settings_exception
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestUpdatenvidiaNicFirmwareSettings.test_update_nvidia_nic_firmware_settings_exception ... ok
ironic_python_agent.tests.unit.hardware_managers.test_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 [root] Command execution error: Command execution failed: foo bar baz
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 268, in execute_command
    result = ext.execute(command_part, **kwargs)
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
ironic_python_agent.errors.CommandExecutionError: Command execution failed: foo bar baz
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha256 ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_centos_checksum_sha512 ... ok
   ERROR [root] Extension do not found
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 267, in execute_command
    ext = self.get_extension(extension_part)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 238, in get_extension
    ext = self.ext_mgr[extension_name].obj
          ~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/stevedore/extension.py", line 340, in __getitem__
    return self._extensions_by_name[name]
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
KeyError: 'do'
ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_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
ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_success
ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_success ... ok
ironic_python_agent.tests.unit.hardware_managers.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.extensions.test_standby.TestImageDownload.test_download_image_and_checksum
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file_md5
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file_md5 ... ok
ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command
ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command ... ok
ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension
ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension ... ok
ironic_python_agent.tests.unit.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_standby.TestImageDownload.test_download_image_and_checksum_failed
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed_md5
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed_md5 ... ok
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error ... ok
   ERROR [root] Unexpected exception performing clean step erase_devices. RuntimeError: boom
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
                                           **kwargs)
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
RuntimeError: boom
   ERROR [root] Command failed: execute_clean_step, error: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
                                           **kwargs)
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
RuntimeError: boom

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 88, in execute_clean_step
    raise errors.CleaningError(msg)
ironic_python_agent.errors.CleaningError: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom
ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception
ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_md5
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_md5 ... ok
   ERROR [root] Error performing clean step erase_devices
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
                                           **kwargs)
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot
   ERROR [root] Command failed: execute_clean_step, error: Block device caused unknown error: I'm a teapot
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
                                           **kwargs)
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot
ironic_python_agent.tests.unit.extensions.test_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
   ERROR [root] Command failed: fake_async_command, error: An error occurred: failed
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command
    raise ExecutionError()
ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed
   ERROR [root] Malformed clean_step, no "step" key: {}
   ERROR [root] Command failed: execute_clean_step, error: Malformed clean_step, no "step" key: {}
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 74, in execute_clean_step
    raise ValueError(msg)
ValueError: Malformed clean_step, no "step" key: {}
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha256
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha256 ... ok
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001346588134765625 seconds. Error: Received status code 401 from http://example.org, expected 200. Response body: Unauthorized Response headers: <MagicMock name='get().headers' id='4111701488'>
   ERROR [root] Clean version mismatch for command execute_clean_step
 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: <MagicMock name='get().headers' id='4109115992'>
 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: <MagicMock name='get().headers' id='4109115992'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.008806943893432617 seconds. Error: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: <MagicMock name='get().headers' id='4109115992'>
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha512
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha512 ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file ... ok
 WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: 
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 ...  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: <Mock name='mock.headers' id='4131872816'>
ok
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path ... ok
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected ... ok
ironic_python_agent.tests.unit.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.extensions.test_base.TestExtensionDecorators.test_async_command_success
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success ... ok
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success_without_agent
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success_without_agent ... ok
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled ... ok
ironic_python_agent.tests.unit.extensions.test_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_clean.TestCleanExtension.test_execute_clean_step_no_step
ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step ... ok
ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_tuple_result
ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_tuple_result ... ok
ironic_python_agent.tests.unit.extensions.test_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_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_clean.TestCleanExtension.test_execute_clean_step_with_args
ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_with_args   ERROR [root] Failed Prerequisite check. Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 ... ok
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map ... ok
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure ... ok
ironic_python_agent.tests.unit.extensions.test_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.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.extensions.test_base.TestExtensionDecorators.test_sync_command_name
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_invalid_checksum ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail ... ok
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.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.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.extensions.test_base.TestExtensionDecorators.test_sync_command_success
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success ... ok
   ERROR [root] Unexpected exception performing deploy step erase_devices. RuntimeError: boom
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
                                           **kwargs)
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
RuntimeError: boom
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
   ERROR [root] Command failed: execute_deploy_step, error: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
                                           **kwargs)
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
RuntimeError: boom

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 88, in execute_deploy_step
    raise errors.DeploymentError(msg)
ironic_python_agent.errors.DeploymentError: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_validation_failure
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_validation_failure ... ok
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_exception
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_exception ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.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
   ERROR [root] Command failed: fake_async_command, error: An error occurred: failed
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command
    raise ExecutionError()
ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true ...    ERROR [root] Error performing deploy step erase_devices
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
                                           **kwargs)
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot
ok
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure ... ok
   ERROR [root] Command failed: execute_deploy_step, error: Block device caused unknown error: I'm a teapot
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
                                           **kwargs)
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data ... ok
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success ... ok
   ERROR [root] Malformed deploy_step, no "step" key: {}
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_with_running_fw
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_with_running_fw ... ok
   ERROR [root] Command failed: execute_deploy_step, error: Malformed deploy_step, no "step" key: {}
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 73, in execute_deploy_step
    raise ValueError(msg)
ValueError: Malformed deploy_step, no "step" key: {}
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map ... ok
   ERROR [root] duplicate settings for device ID 1017 
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id ... ok
   ERROR [root] Command failed: sleep, error: An error occurred: An unexpected error occurred. Please try back later.
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep
    time.sleep(sleep_info['time'])
    ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
ironic_python_agent.errors.RESTError: An error occurred: An unexpected error occurred. Please try back later.
   ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow
    raise errors.CommandExecutionError(
        "%s was failed" % method
    )
ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed
   ERROR [root] There is no deviceID provided for this settings
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.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config ... ok
ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed
ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_prepare_nvidia_nic_config ... ok
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.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
 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_base.BlockExecuteTestCase.test_can_mock_execute
ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute ... ok
   ERROR [root] Clean version mismatch for command execute_deploy_step
ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed
ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed ... ok
   ERROR [root] Command failed: sleep, error: foo
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep
    time.sleep(sleep_info['time'])
    ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1230, in _execute_mock_call
    raise result
Exception: foo
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_base.BlockExecuteTestCase.test_exception_raised_for_execute
ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute   ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow
    raise errors.CommandExecutionError(
        "%s was failed" % method
    )
ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed
 ... 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_burnin.TestBurnin.test__smart_test_status
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status ... ok
   ERROR [ironic_python_agent.burnin] SMART test on /dev/sdj failed with 'string'
 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_burnin.TestBurnin.test__smart_test_status_missing
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing WARNING [ironic_python_agent.agent] No route to host 1.2.1.2, route record: Error: some error text
 ... ok
ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry
ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry ... ok
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default ... ok
ironic_python_agent.tests.unit.extensions.test_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_burnin.TestBurnin.test_fio_disk_no_default
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default ... ok
   ERROR [ironic_python_agent.burnin] fio (disk) failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.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_burnin.TestBurnin.test_fio_disk_no_fio
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio ... ok
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_get_deploy_steps
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_get_deploy_steps ... ok
 WARNING [ironic_python_agent.agent] Cannot get route to host fc00:1111::1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_python_agent.agent] No route to host 1.2.1.2, route record: Error: some error text
 WARNING [ironic_python_agent.agent] Cannot get route to host fc00:1111::1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
ironic_python_agent.tests.unit.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_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_flow.TestFlowExtension.test_validate_exts_failed_missing_command
ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_missing_command ... ok
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test ... ok
ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs
ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs ... ok
ironic_python_agent.tests.unit.extensions.test_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_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_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_flow.TestFlowExtension.test_validate_exts_success
ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi ... ok
   ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boop'
Stderr: None
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image ... ok
ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ip
ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ip ... ok
 WARNING [ironic_python_agent.extensions.image] 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__add_multi_bootloaders
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__add_multi_bootloaders ... 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
 WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used.
ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ipv6
ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ipv6 ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__append_uefi_to_fstab_handles_error
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__append_uefi_to_fstab_handles_error ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image ... ok
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0004658699035644531 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.0004658699035644531 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.001821279525756836 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.001821279525756836 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003620624542236328 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.003620624542236328 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0048067569732666016 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.0048067569732666016 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005976438522338867 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.005976438522338867 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007633209228515625 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.007633209228515625 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
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
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.010164737701416016 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.010164737701416016 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.011208295822143555 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.011208295822143555 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.011998653411865234 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.011998653411865234 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.012827873229980469 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
 WARNING [root] Can't find field vendor for device lo in device class net
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00023484230041503906 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.00023484230041503906 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface
ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface ... ok
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00269317626953125 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.00269317626953125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0037872791290283203 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.0037872791290283203 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004827022552490234 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.004827022552490234 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005941867828369141 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.005941867828369141 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007082939147949219 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.007082939147949219 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.008130311965942383 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.008130311965942383 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.009248495101928711 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.009248495101928711 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.010268688201904297 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.010268688201904297 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.011282682418823242 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential ... ok
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0009293556213378906 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.0009293556213378906 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0022764205932617188 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.0022764205932617188 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003275632858276367 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.003275632858276367 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004383563995361328 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
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
 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.004383563995361328 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.006713390350341797 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.006713390350341797 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0075092315673828125 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.0075092315673828125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.008302450180053711 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.008302450180053711 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.009088277816772461 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.009088277816772461 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00983285903930664 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.00983285903930664 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.010666608810424805 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential ... ok
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0003859996795654297 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [root] Can't find field vendor for device lo in device class net
 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.0003859996795654297 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0018618106842041016 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.0018618106842041016 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003355741500854492 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.003355741500854492 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005006313323974609 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.005006313323974609 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0061800479888916016 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.0061800479888916016 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007066488265991211 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.007066488265991211 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007809162139892578 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.007809162139892578 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
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
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.009662628173828125 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.009662628173828125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.011900663375854492 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.011900663375854492 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_exc
ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc ... ok
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.014987707138061523 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
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_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_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required
ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required ... ok
   ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, qcow2 are allowed
ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_required
ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_required ... ok
ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch
ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch ... ok
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002349376678466797 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
 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.002349376678466797 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0051190853118896484 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled
ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch_but_disabled ... ok
 WARNING [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.0051190853118896484 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
   ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, qcow2 are allowed
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00803518295288086 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
 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.00803518295288086 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
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
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.010724067687988281 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
 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.010724067687988281 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.013278961181640625 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
 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.013278961181640625 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.015934467315673828 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
 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.015934467315673828 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.01750016212463379 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
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.GetAndValidateImageFormat.test_happy_qcow2
ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 ... ok
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.01750016212463379 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.021337032318115234 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
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
 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.021337032318115234 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.023744583129882812 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
 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.023744583129882812 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.02611994743347168 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4112833272'> Response headers: <MagicMock name='get().headers' id='4112833088'>
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 ...    ERROR [ironic_python_agent.disk_utils] Security: Unable to safety check image
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   ERROR [ironic_python_agent.disk_utils] Security: Image failed safety check
 ... 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_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check
ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check ... ok
ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass
ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass ... ok
   ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow
   ERROR [root] Command failed: install_bootloader, error: meow
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader
    _install_grub2(device,
    ~~~~~~~~~~~~~~^^^^^^^^
                   root_uuid=root_uuid,
                   ^^^^^^^^^^^^^^^^^^^^
                   efi_system_part_uuid=efi_system_part_uuid,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                   prep_boot_part_uuid=prep_boot_part_uuid,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                   target_boot_mode=target_boot_mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in _install_grub2
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
OSError: meow
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_disk_label_gpt
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_disk_label_gpt ... ok
   ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_gpt_with_prep
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_gpt_with_prep ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_conf_success
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_conf_success ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_gpt_bios
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_gpt_bios ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_uefi
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_uefi ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_mbr_with_prep
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_mbr_with_prep ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device ... ok
   ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success ... ok
ironic_python_agent.tests.unit.extensions.test_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_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_encoding.TestEncoder.test_encoder
ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder ... ok
   ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_manage_failure
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_manage_failure ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy ... ok
   ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /tmp/tmplqpmfk3y/fake_id; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum
ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_ironic_lib
ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_ironic_lib ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_none ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success ... ok
   ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None.
 WARNING [ironic_python_agent.extensions.image] Unable to umount vfat partitions. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/dev. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/proc. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/run. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/sys. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail ... ok
ironic_python_agent.tests.unit.extensions.test_standby.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_image.TestImageExtension.test__install_grub2_prep
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_prep ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location ... ok
   ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
   ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None, falling back to sysrq-trigger
   ERROR [root] Command failed: power_off, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None.
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1041, in _run_shutdown_command
    utils.execute("echo o > /proc/sysrq-trigger", shell=True)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in execute
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1057, in power_off
    self._run_shutdown_command('poweroff')
    ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1045, in _run_shutdown_command
    raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr)
ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None.
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_bios
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_bios ... ok
   ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
   ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
   ERROR [root] Command failed: power_off, error: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 825, in sync_clock
    execute('ntpdate', CONF.ntp_server)
    ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in execute
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1096, in _sync_clock
    utils.sync_clock(ignore_errors=ignore_errors)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 832, in sync_clock
    raise errors.CommandExecutionError(msg)
ironic_python_agent.errors.CommandExecutionError: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1057, in power_off
    self._run_shutdown_command('poweroff')
    ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1016, in _run_shutdown_command
    self._sync_clock(ignore_errors=True)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1106, in _sync_clock
    raise errors.ClockSyncError(msg)
ironic_python_agent.errors.ClockSyncError: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off_with_ntp_server
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off_with_ntp_server ... ok
 WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/md/esp using the install command which does not place Secure Boot signed binaries.
 WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command.
Command: grub2-install
Exit code: 1
Stdout: ''
Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'.
 WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command.
Command: grub2-install
Exit code: 1
Stdout: ''
Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'.
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image ... ok
ironic_python_agent.tests.unit.extensions.test_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] Command failed: prepare_image, error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests!
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 980, in prepare_image
    _validate_partitioning(device)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 794, in _validate_partitioning
    disk_utils.partprobe(device)
    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/disk_utils.py", line 665, in partprobe
    utils.execute('partprobe', device, attempts=attempts)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/base.py", line 89, in do_not_call
    raise Exception(
        "Don't call ironic_lib.utils.execute() / "
        "processutils.execute() or similar functions in tests!")
Exception: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests!
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
 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.
/bin/sh: line 1: mkisofs: command not found
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.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive ... ok
 WARNING [ironic_python_agent.extensions.standby] Failed to call get_disk_identifier: Unable to obtain the root_uuid parameter: The hexdump tool may be missing in IPA: 
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_bad_iso_qcow2
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_bad_iso_qcow2 ... skipped 'mkisofs not installed'
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump ... 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.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
 WARNING [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping
 WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used.
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_fstab
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_fstab ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_stream_true
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_stream_true ... ok
   ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'error'
Stderr: None.
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image ... ok
 WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries.
 WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path'
 WARNING [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping
 WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used.
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_from_file_reads_minimum
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_from_file_reads_minimum ... 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_image.TestImageExtension.test__install_grub2_uefi_no_fstab
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_no_fstab ... ok
/bin/sh: line 1: mkisofs: command not found
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_9660
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_9660 ... skipped 'mkisofs not installed'
   ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
   ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None, falling back to sysrq-trigger
   ERROR [root] Command failed: run_image, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None.
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1043, in _run_shutdown_command
    utils.execute("echo b > /proc/sysrq-trigger", shell=True)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in execute
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1051, in run_image
    self._run_shutdown_command('reboot')
    ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1045, in _run_shutdown_command
    raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr)
ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None.
/bin/sh: line 1: mkisofs: command not found
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_format_inspector.TestFormatInspectors.test_iso_udf
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_udf ... skipped 'mkisofs not installed'
   ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
   ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None, falling back to sysrq-trigger
ironic_python_agent.tests.unit.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.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid ... ok
 WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: ''
Stderr: None, falling back to sysrq-trigger
 WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed
 WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed
 WARNING [ironic_python_agent.extensions.image] Failed to copy grubenv file. Error: copy failed
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails ... ok
 WARNING [ironic_python_agent.extensions.standby] reboot command has been ignored, falling back to sysrq-trigger
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq ... ok
ironic_python_agent.tests.unit.extensions.test_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.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device ... ok
 WARNING [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_no_loader
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader ... 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_failure
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_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.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 ... ok
 WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries.
   ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'error'
Stderr: None.
   ERROR [ironic_python_agent.extensions.image] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'error'
Stderr: None
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode ... ok
 WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly.
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition ... ok
 WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly.
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_given_partition
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_given_partition ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2 ... ok
 WARNING [ironic_python_agent.format_inspector] Found unknown feature bit in byte 7: 0b0/0b0
 WARNING [ironic_python_agent.format_inspector] Found unknown feature bit in byte 0: 0b0/0b1111
 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_format_inspector.TestFormatInspectors.test_qcow2_feature_flag_checks
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_feature_flag_checks ... ok
ironic_python_agent.tests.unit.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_format_inspector.TestFormatInspectors.test_qcow2_invalid
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_invalid ... ok
 WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly.
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo ... ok
 WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly.
 WARNING [ironic_python_agent.extensions.image] efibootmgr is not available in the ramdisk
   ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error 
   ERROR [root] Command failed: install_bootloader, error: 
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader
    _install_grub2(device,
    ~~~~~~~~~~~~~~^^^^^^^^
                   root_uuid=root_uuid,
                   ^^^^^^^^^^^^^^^^^^^^
                   efi_system_part_uuid=efi_system_part_uuid,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                   prep_boot_part_uuid=prep_boot_part_uuid,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                   target_boot_mode=target_boot_mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 167, in _install_grub2
    root_partition = partition_utils.get_partition(device, uuid=root_uuid)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/partition_utils.py", line 615, in get_partition
    ipa_utils.rescan_device(device)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 921, in rescan_device
    execute('partx', '-av', device, attempts=3, delay_on_retry=True)
    ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 77, in execute
    return ironic_utils.execute(*cmd, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "<string>", line 3, in do_not_call
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
FileNotFoundError
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure ... ok
ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue
ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue ... ok
ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords
ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords ... ok
ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password
ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password ... ok
   ERROR [root] Rescue Operation failed when writing the hashed rescue password to the password file. Error 
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/rescue.py", line 48, in write_rescue_password
    with open(PASSWORD_FILE, 'w') as f:
         ~~~~^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
OSError
ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror
ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror ... ok
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step ... ok
   ERROR [root] Unexpected exception performing service step erase_devices. RuntimeError: boom
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
                                           **kwargs)
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
RuntimeError: boom
   ERROR [root] Command failed: execute_service_step, error: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
                                           **kwargs)
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
RuntimeError: boom

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 88, in execute_service_step
    raise errors.ServicingError(msg)
ironic_python_agent.errors.ServicingError: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_exception
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_exception ... ok
   ERROR [root] Error performing service step erase_devices
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
                                           **kwargs)
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot
   ERROR [root] Command failed: execute_service_step, error: Block device caused unknown error: I'm a teapot
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
                                           **kwargs)
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail ... ok
   ERROR [root] Malformed service_step, no "step" key: {}
   ERROR [root] Command failed: execute_service_step, error: Malformed service_step, no "step" key: {}
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 74, in execute_service_step
    raise ValueError(msg)
ValueError: Malformed service_step, no "step" key: {}
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_no_step
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_no_step ... ok
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_safety_checks
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_safety_checks ... ok
   ERROR [root] Clean version mismatch for command execute_service_step
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch ... ok
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_with_args
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_with_args ... ok
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qed_always_unsafe
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qed_always_unsafe ... ok
ironic_python_agent.tests.unit.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
   ERROR [root] Failed to query firmware of device <Mock name='mock.dev_pci' id='4107916416'>: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict_exception
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict_exception ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool ... ok
   ERROR [root] Failed to query tool configuration of device <Mock name='mock.dev_pci' id='4109386144'>: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw ... ok
   ERROR [root] Failed to query firmware of device <Mock name='mock.dev_pci' id='4109877064'>: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config ... ok
   ERROR [root] Failed to set configuration of device <Mock name='mock.dev_pci' id='4108002616'>,  ['SRIOV_EN=20']: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config ... ok
   ERROR [root] Configuraiton ESWITCH_HAIRPIN_TOT_BUFFER_SIZE[8] for device <Mock name='mock.dev_pci' id='4107915864'> is not supported with current fw
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw ... ok
   ERROR [root] Configuraiton: UNSUPPORTED_PARAM is not supported by mstconfig, please update to the latest mstflint package.
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.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file ... ok
   ERROR [root] Failed to move file: /firmware_images/fw1.bin, 
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file_not_found ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi_invalid
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi_invalid ... ok
ironic_python_agent.tests.unit.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
   ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server.
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 2: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Error downloading image: Download of image fake_id failed: Timed out reading next chunk from webserver
   ERROR [root] Failed to open URL data: HTTP Error 500: Internal Error
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err ... ok
   ERROR [root] Failed to open URL data: <urlopen error URL error>
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_url_err ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_https
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_https ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_invalid_url_scheme
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_invalid_url_scheme ... ok
   ERROR [root] Mismatch provided checksum a94e683ea16d9ae44768f0a65942234d for image http://10.10.10.10/firmware_images/fw1.bin
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_checksum
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_checksum ... ok
   ERROR [root] The provided psid MT_0000000227 does not match the image psid MT_0000000228
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_component_flavor
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_component_flavor ... ok
   ERROR [root] The provided firmware version 20.34.1012 does not match image firmware version 20.35.1012
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd_invalid
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd_invalid ... ok
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st ... ok
   ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server.
 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_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
ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run ... ok
   ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server.
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout ... ok
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_write_error
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_write_error ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync ... ok
   ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_sha256 ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5 ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_without_md5
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_without_md5 ... ok
ironic_python_agent.tests.unit.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.extensions.test_standby.TestStandbyExtension.test_validate_image_info_url
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_url ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_password
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_password ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_user
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_user ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user ... ok
   ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently algo-beyond-milky-way) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_fails_if_unknown_is_used
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_fails_if_unknown_is_used ... ok
   ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /foo/bar; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure ... ok
   ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /foo/bar; image ID: fake_id; image checksum: fake-sha512-value; verification checksum: invalid-checksum
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields ... ok
   ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently unsupported-algorithm) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback ... ok
ironic_python_agent.tests.unit.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.TestStandbyExtension.test_verify_image_success
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_new_hash_fields
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_new_hash_fields ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails ... ok
   ERROR [ironic_lib.exception] Exception in string format operation (arguments )
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__
    message = self._msg_fmt % kwargs
              ~~~~~~~~~~~~~~^~~~~~~~
KeyError: 'reason'
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails   ERROR [ironic_python_agent.agent] error sending heartbeat to <Mock name='mock.api_urls' id='4086423000'>
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/agent.py", line 148, in do_heartbeat
    self.api.heartbeat(
    ~~~~~~~~~~~~~~~~~~^
        uuid=self.agent.get_node_uuid(),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<2 lines>...
        generated_cert=self.agent.generated_cert,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
Exception: uh oh!
 ... ok
ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat
ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat ... ok
   ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests!
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image ... ok
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation ... ok
ironic_python_agent.tests.unit.extensions.test_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.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait ... ok
ironic_python_agent.tests.unit.extensions.test_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_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
   ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests!
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid ... ok
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait ... ok
   ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests!
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_validation
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_validation ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_apply_net_firmware_update ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaFirmwareImages.test_filter_images ... ok
   ERROR [root] Duplicate componentFlavor MT_0000000540
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
   ERROR [root] Invalid parameters for image {'url': 'http://10.10.10.10/firmware_images/fw2.bin', 'checksum': 'a94e683ea16d9ae44768f0a65942234c', 'checksumType': 'sha512', 'component': 'MT_0000000652', 'version': '24.34.1002'},please provide the following parameters url, checksum, checksumType, componentFlavor, version
ironic_python_agent.tests.unit.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_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.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.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware ... ok
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error ... ok
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid ... ok
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx ... ok
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support ... ok
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status ... ok
ironic_python_agent.tests.unit.hardware_managers.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_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_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.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_list_command_results
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results ... 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_not_found
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found ... 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.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info ... ok
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root ... ok
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults ... ok
ironic_python_agent.tests.unit.hardware_managers.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_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_api.TestIronicAPI.test_v1_root
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root ... 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_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute
ironic_python_agent.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute ... ok
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata ... 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_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 ... ok
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr ... ok
ironic_python_agent.tests.unit.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_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_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.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_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_tiny_partition
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_tiny_partition ... ok
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_fail
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_fail ... ok
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force ... ok
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid ... ok
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_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_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_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid ... ok
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions ... ok
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions ... ok
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table ... ok
   ERROR [ironic_python_agent.disk_utils] Unable to stat device /dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9 after attempting to verify 2 times.
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader ... ok
   ERROR [ironic_python_agent.disk_utils] Unable to stat device /dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9 after attempting to verify 3 times.
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts ... ok
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises ... 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_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_burnin.TestBurnin.test_fio_network_reader_loop
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop ... ok
ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts
ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ... ok
 WARNING [ironic_python_agent.disk_utils] Failed to verify partition tables on device /dev/fake: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails
ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails ... ok
ironic_python_agent.tests.unit.test_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_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.TriggerDeviceRescanTestCase.test_trigger
ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger ... ok
 WARNING [ironic_python_agent.dmi_inspector] Failed to parse Handle type in dmi output: list index out of range
ironic_python_agent.tests.unit.test_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_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data ... ok
ironic_python_agent.tests.unit.test_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_burnin.TestBurnin.test_fio_network_writer
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer ... ok
   ERROR [ironic_python_agent.utils] failed to run dmidecode: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
   ERROR [root] Command failed: foo_command, error: command execution failed
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_agent.py", line 44, in foo_execute
    raise EXPECTED_ERROR
RuntimeError: command execution failed
ironic_python_agent.tests.unit.test_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_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_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_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_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_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_burnin.TestBurnin.test_stress_ng_cpu_default
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default ... ok
ironic_python_agent.tests.unit.test_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_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu ... 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_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_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_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_burnin.TestBurnin.test_stress_ng_cpu_non_default
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_non_default ... ok
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data
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_burnin.TestBurnin.test_stress_ng_vm_default
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default ... ok
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle ... 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
 WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Number Of Devices'
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_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_agent.TestBaseAgent.test_get_route_source_indexerror
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror ... ok
ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_baseclass_serialize
ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_baseclass_serialize ... ok
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_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_agent.TestBaseAgent.test_get_route_source_ipv4
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 ... ok
ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty
ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty ... ok
ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields
ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields ... ok
ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_childclass_serialize
ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_childclass_serialize ... ok
ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal
ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal ... 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
 WARNING [ironic_python_agent.disk_utils] Unable to get partition table type for device hello
ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt
ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ... ok
ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos
ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos ... ok
 WARNING [root] Device /dev/fake1 is inaccessible, skipping... Error: nope
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_agent.TestBaseAgent.test_get_route_source_ipv6_linklocal
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6_linklocal ... ok
ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev
ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev ... ok
ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct
ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct ... ok
ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme
ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme ... ok
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status ... ok
ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect
ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect ... ok
ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt
ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt ... ok
ironic_python_agent.tests.unit.test_hardware.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.PopulateImageTestCase.test_populate_qcow2_image
ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_qcow2_image ... ok
ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image
ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image ... ok
 WARNING [root] The root device was not detected in 27 seconds
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout ... ok
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
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                        use_network=use_network)
                        ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver
    self.clear()
    ~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__
    self.read_resolv_conf(filename)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf
    raise NoResolverConfiguration("no nameservers")
dns.resolver.NoResolverConfiguration: no nameservers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
        (self._dns_host, self.port),
    ...<2 lines>...
        socket_options=self.socket_options,
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
    ~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
    ~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf4f72538>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
        method=request.method,
    ...<9 lines>...
        chunked=chunked,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
        method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf4f72538>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
                                request_url,
    ...<4 lines>...
                                timeout=CONF.http_request_timeout,
                                **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf4f72538>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run ... ok
 WARNING [root] The root device was not detected in 45 seconds
ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv
ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv ... ok
ironic_python_agent.tests.unit.test_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_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders
ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders ... ok
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                        use_network=use_network)
                        ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver
    self.clear()
    ~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__
    self.read_resolv_conf(filename)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf
    raise NoResolverConfiguration("no nameservers")
dns.resolver.NoResolverConfiguration: no nameservers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
        (self._dns_host, self.port),
    ...<2 lines>...
        socket_options=self.socket_options,
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
    ~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
    ~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf564e450>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
        method=request.method,
    ...<9 lines>...
        chunked=chunked,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
        method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf564e450>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
                                request_url,
    ...<4 lines>...
                                timeout=CONF.http_request_timeout,
                                **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf564e450>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token ... ok
 WARNING [root] The root device was not detected in 27 seconds
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured ... ok
ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders
ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders ... ok
 WARNING [ironic_python_agent.efi_utils] Invalid sgdisk line: I am a teaport
 WARNING [ironic_python_agent.efi_utils] No UUID information provided in sgdisk output for partition 1 on device /dev/fake
ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken
ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken ... ok
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                        use_network=use_network)
                        ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver
    self.clear()
    ~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__
    self.read_resolv_conf(filename)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf
    raise NoResolverConfiguration("no nameservers")
dns.resolver.NoResolverConfiguration: no nameservers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
        (self._dns_host, self.port),
    ...<2 lines>...
        socket_options=self.socket_options,
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
    ~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
    ~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf564e500>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
        method=request.method,
    ...<9 lines>...
        chunked=chunked,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
        method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf564e500>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
                                request_url,
    ...<4 lines>...
                                timeout=CONF.http_request_timeout,
                                **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf564e500>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port ... ok
ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok
ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok ... ok
ironic_python_agent.tests.unit.test_hardware.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_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr
ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr ... ok
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                        use_network=use_network)
                        ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver
    self.clear()
    ~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__
    self.read_resolv_conf(filename)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf
    raise NoResolverConfiguration("no nameservers")
dns.resolver.NoResolverConfiguration: no nameservers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
        (self._dns_host, self.port),
    ...<2 lines>...
        socket_options=self.socket_options,
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
    ~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
    ~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf564e450>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
        method=request.method,
    ...<9 lines>...
        chunked=chunked,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
        method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf564e450>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
                                request_url,
    ...<4 lines>...
                                timeout=CONF.http_request_timeout,
                                **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf564e450>: 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_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_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_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks ... ok
ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal
ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal ... ok
ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash
ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash ... ok
 WARNING [root] Can't find field vendor for device lo in device class net
ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal
ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal ... ok
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                        use_network=use_network)
                        ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver
    self.clear()
    ~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__
    self.read_resolv_conf(filename)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf
    raise NoResolverConfiguration("no nameservers")
dns.resolver.NoResolverConfiguration: no nameservers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
        (self._dns_host, self.port),
    ...<2 lines>...
        socket_options=self.socket_options,
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
    ~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
    ~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf4f60d40>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
        method=request.method,
    ...<9 lines>...
        chunked=chunked,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
        method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf4f60d40>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
                                request_url,
    ...<4 lines>...
                                timeout=CONF.http_request_timeout,
                                **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf4f60d40>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection ... ok
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_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_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
   ERROR [ironic_lib.exception] Exception in string format operation (arguments )
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__
    message = self._msg_fmt % kwargs
              ~~~~~~~~~~~~~~^~~~~~~~
KeyError: 'service'
 WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat
 WARNING [root] Can't find field vendor for device lo in device class net
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string
ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string ... ok
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection_without_apiurl
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection_without_apiurl ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_capture_region
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_capture_region ... ok
ironic_python_agent.tests.unit.test_hardware.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_format_inspector.TestFormatInspectorInfra.test_get_inspector
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_get_inspector ... ok
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                        use_network=use_network)
                        ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver
    self.clear()
    ~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__
    self.read_resolv_conf(filename)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf
    raise NoResolverConfiguration("no nameservers")
dns.resolver.NoResolverConfiguration: no nameservers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
        (self._dns_host, self.port),
    ...<2 lines>...
        socket_options=self.socket_options,
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
    ~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
    ~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf5125870>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
        method=request.method,
    ...<9 lines>...
        chunked=chunked,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
        method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf5125870>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
                                request_url,
    ...<4 lines>...
                                timeout=CONF.http_request_timeout,
                                **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf5125870>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep ... ok
ironic_python_agent.tests.unit.test_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_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_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like ... ok
ironic_python_agent.tests.unit.test_hardware.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
   ERROR [ironic_lib.exception] Exception in string format operation (arguments )
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__
    message = self._msg_fmt % kwargs
              ~~~~~~~~~~~~~~^~~~~~~~
KeyError: 'service'
 WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat
 WARNING [root] Can't find field vendor for device lo in device class net
   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 [ironic_python_agent.format_inspector] Format inspector failed, aborting: fail
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_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like_eats_error
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like_eats_error ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_device_info
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_device_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 199, in _new_conn
    sock = connection.create_connection(
        (self._dns_host, self.port),
    ...<2 lines>...
        socket_options=self.socket_options,
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
    ~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
    ~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf43560e0>: 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 843, in urlopen
    retries = retries.increment(
        method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf43560e0>: 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-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
                                request_url,
    ...<4 lines>...
                                timeout=CONF.http_request_timeout,
                                **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf43560e0>: Failed to resolve 'example.com' ([Errno -2] Name or service not known)"))
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like ... ok
ironic_python_agent.tests.unit.test_hardware.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
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: fail
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like_eats_error
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like_eats_error ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device ... ok
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                        use_network=use_network)
                        ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver
    self.clear()
    ~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__
    self.read_resolv_conf(filename)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf
    raise NoResolverConfiguration("no nameservers")
dns.resolver.NoResolverConfiguration: no nameservers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
        (self._dns_host, self.port),
    ...<2 lines>...
        socket_options=self.socket_options,
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
    ~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
    ~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf431c450>: 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 843, in urlopen
    retries = retries.increment(
        method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf431c450>: 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-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
                                request_url,
    ...<4 lines>...
                                timeout=CONF.http_request_timeout,
                                **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf431c450>: 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
 WARNING [root] Could not determine if /dev/sdfake is aread-only device. Error: 
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__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] No hardware manager was able to handle interface foobar
 WARNING [root] Could not determine if /dev/sdfake1 is aread-only device. Error: 
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.TestGenericHardwareManager.test__is_read_only_device_partition_error
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_ok ... ok
 WARNING [root] 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
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                        use_network=use_network)
                        ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver
    self.clear()
    ~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__
    self.read_resolv_conf(filename)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf
    raise NoResolverConfiguration("no nameservers")
dns.resolver.NoResolverConfiguration: no nameservers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
        (self._dns_host, self.port),
    ...<2 lines>...
        socket_options=self.socket_options,
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
    ~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
    ~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf43560e0>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
        method=request.method,
    ...<9 lines>...
        chunked=chunked,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
        method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf43560e0>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
                                request_url,
    ...<4 lines>...
                                timeout=CONF.http_request_timeout,
                                **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xf43560e0>: 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__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_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia
ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia ... ok
ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls
ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls ... 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
 WARNING [root] Cannot find detailed information about interface eth0
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.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_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected
ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected ... ok
ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy
ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy ... ok
ironic_python_agent.tests.unit.test_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_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once
ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once ... ok
ironic_python_agent.tests.unit.test_disk_utils.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 bond0
ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found
ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found ... ok
ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt
ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt ... ok
ironic_python_agent.tests.unit.test_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_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr
ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr ... ok
ironic_python_agent.tests.unit.test_disk_utils.GetDeviceByteSizeTestCase.test_get_dev_byte_size
ironic_python_agent.tests.unit.test_disk_utils.GetDeviceByteSizeTestCase.test_get_dev_byte_size ... ok
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration ... ok
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_busybox
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_busybox ... ok
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_psmisc
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_psmisc ... ok
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_busybox
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_busybox ... ok
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_psmisc
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_psmisc ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete ... ok
 WARNING [root] Cannot find detailed information about interface eth0
 WARNING [ironic_python_agent.disk_utils] Failed to check the device fake-dev with fuser: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: 'fake'
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_device
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_device ... ok
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp 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
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_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
 WARNING [root] Cannot find detailed information about interface eth0
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.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.TestGenericHardwareManager.test_clean_uefi_nvram
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram ... ok
 WARNING [ironic_python_agent.efi_utils] Empty EFI partition detected.
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults ... 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_hardware.TestGenericHardwareManager.test_collect_lldp_data
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data ... ok
   ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 131, in manage_uefi
    utils.execute('mount', efi_partition, efi_partition_mount_point)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in execute
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure ... ok
 WARNING [root] Cannot find detailed information about interface eth0
 WARNING [root] Cannot find detailed information about interface eth0.100
   ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi
    _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part,
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                    efi_partition_mount_point)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr
    boot_records = list(get_boot_records())
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records
    efi_output = utils.execute('efibootmgr', '-v', binary=True)
  File "<string>", line 3, in execute
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1230, 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.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_efi_utils.TestManageUefi.test_failure_after_failure
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_failure ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_decode_exception
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_decode_exception ... ok
   ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi
    _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part,
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                    efi_partition_mount_point)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr
    boot_records = list(get_boot_records())
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records
    efi_output = utils.execute('efibootmgr', '-v', binary=True)
  File "<string>", line 3, in execute
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1230, in _execute_mock_call
    raise result
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception ... ok
 WARNING [root] Cannot find detailed information about interface eth0
 WARNING [root] Cannot find detailed information about interface eth0.100
 WARNING [root] Cannot find detailed information about interface eth0.101
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp ... ok
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration ... ok
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records ... ok
 WARNING [root] Cannot find detailed information about interface eth0
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
 WARNING [root] Cannot find detailed information about interface eth1
 WARNING [root] Cannot find detailed information about interface eth0.100
 WARNING [root] Cannot find detailed information about interface eth0.101
 WARNING [root] Cannot find detailed information about interface eth1.102
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures ... ok
 WARNING [root] Cannot find detailed information about interface eth1.103
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp_all
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp_all ... ok
ironic_python_agent.tests.unit.test_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_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_efi_utils.TestManageUefi.test_ok
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_ok ... 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_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.TestMultipathEnabled.test_enable_multipath_already_running
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running ... ok
 WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'lacking kernel support'
Stderr: None
ironic_python_agent.tests.unit.test_hardware.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.TestMultipathEnabled.test_enable_multipath_lacking_support
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support ... ok
 WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: 
ironic_python_agent.tests.unit.test_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_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails ... ok
ironic_python_agent.tests.unit.test_hardware.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.TestMultipathEnabled.test_enable_multipath_mpathconf
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints ... ok
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath ... ok
 WARNING [root] 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] Attempted to determine if multipath tools were present. Not detected. Error recorded: 
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.TestMultipathEnabled.test_enable_multipath_not_found_mpath_config
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_not_found_mpath_config ... ok
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk ... ok
ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_enabled_no_results
ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_enabled_no_results ... ok
ironic_python_agent.tests.unit.test_hardware.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.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.TestMultipathEnabled.test_enable_multipath_with_config
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_with_config ... ok
ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_not_enabled
ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_not_enabled ... ok
 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_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_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_inject_files.TestFindPartitionWithPath.test_found
ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found ... ok
   ERROR [ironic_python_agent.inspector] inspector url error 400: <MagicMock name='post().content.decode()' id='4122046880'>, proceeding with lookup
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_error
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_error ... ok
ironic_python_agent.tests.unit.test_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_inject_files.TestFindPartitionWithPath.test_found_with_dev
ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_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_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_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_inject_files.TestInjectFiles.test_empty
ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty ... 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_inject_files.TestInjectFiles.test_invalid_type_in_param
ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_skip_list_existing_device_does_not_match
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_skip_list_existing_device_does_not_match ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_complete_skip_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_complete_skip_list ... ok
ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node
ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node ... ok
ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok
ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints ... ok
ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_verify_false
ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_verify_false ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_nvme
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_nvme ... ok
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete ... ok
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists ... ok
 WARNING [root] Failed to remove partitions on /dev/sda: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'No md superblock detected'
Stderr: None
 WARNING [root] Failed to remove partitions on /dev/sdb: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'No md superblock detected'
Stderr: None
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration ... ok
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes ... ok
   ERROR [root] 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_inject_files.TestInjectOne.test_plain_content_with_modes_exists
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes_exists ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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_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_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_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_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_inject_files.TestInjectOne.test_plain_content_with_owner_and_group
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group ... ok
   ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: An unknown error occurred erasing block device /dev/sda
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed ... ok
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url ... ok
 WARNING [root] Failed to invoke secure erase, falling back to shred: Error erasing block device: An unknown error occurred erasing block device /dev/sda
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued ... ok
ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks
ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks ... 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.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_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_inspector.TestCollectExtraHardware.test_execute_failed
ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed ... 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_inspector.TestCollectExtraHardware.test_no_benchmarks
ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks ... ok
   ERROR [ironic_python_agent.utils] JSON returned from hardware-detect cannot be decoded: Expecting value: line 1 column 1 (char 0)
ironic_python_agent.tests.unit.test_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_inspector.TestCollectExtraHardware.test_parsing_failed
ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed ... ok
ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac
ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac ... ok
ironic_python_agent.tests.unit.test_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_inspector.TestNormalizeMac.test_pxelinux_mac
ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac ... ok
 WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.)
ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure
ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success ... ok
 WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.)
ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs
ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs ... ok
 WARNING [ironic_python_agent.numa_inspector] Failed to get list of NUMA nodes, NUMA node path does not exist: /sys/devices/system/node/
 WARNING [root] Unable to execute `smartctl` utility: boom
ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs
ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success
ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success ... ok
ironic_python_agent.tests.unit.test_partition_utils.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_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_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent
ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent ... ok
 WARNING [ironic_python_agent.disk_utils] Unable to probe for partitions on device /dev/fake, the partitioning table may be broken. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc
ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc ... ok
ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present
ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present ... ok
ironic_python_agent.tests.unit.test_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_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present_uppercase
ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present_uppercase ... ok
ironic_python_agent.tests.unit.test_qemu_img.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_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_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_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_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
   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_raid_utils.TestGetNextFreeRaidDevice.test_no_device
ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_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_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_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_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_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_uses_internal_info
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_uses_internal_info ... ok
ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0
ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 ... ok
 WARNING [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_raid_utils.TestRaidUtils.test_create_raid_device
ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device ... ok
ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device
ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device ... ok
ironic_python_agent.tests.unit.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
 WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding!
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media ... ok
ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device
ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device ... ok
 WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding!
ironic_python_agent.tests.unit.test_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_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_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: Excluding device sda1 from virtual mediaconsideration as it is a partition.
ironic-python-agent: Found possible vmedia candidate /dev/sda2, however the device failed vmedia validity checking.
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels ... ok
ironic-python-agent: Was unable to execute the lsblk command. Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error ... ok
ironic-python-agent: Did not identify any virtual media candidates devices.
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found ... ok
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device ... ok
ironic_python_agent.tests.unit.test_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_utils.GetAgentParamsTestCase.test__get_vmedia_params
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params ... ok
ironic_python_agent.tests.unit.test_hardware.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_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device ... 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_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_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_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev ... ok
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file ... ok
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail ... ok
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache ... ok
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline ... ok
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_vmedia
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_vmedia ... ok
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd ... ok
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none ... ok
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_ntpdate
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_ntpdate ... ok
ironic_python_agent.tests.unit.test_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_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
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok ... ok
 WARNING [root] Executable 'biosdevname' not found
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid ... ok
 WARNING [root] Invalid IP address meow: 'meow' does not appear to be an IPv4 or IPv6 address
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device ... ok
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error ... ok
 WARNING [root] Cannot get BMC address: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid ... ok
 WARNING [root] Invalid ipmitool output meow
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device ... ok
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error ... ok
 WARNING [root] Cannot get BMC MAC address: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both ... ok
 WARNING [root] Cannot get BMC v6 address: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw ... ok
 WARNING [root] Could not get real physical RAM from lshw: 
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size ... ok
   ERROR [root] Cannot fetch total memory size using psutil version 5
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 1648, in get_memory
    total = int(psutil.virtual_memory().total)
                ~~~~~~~~~~~~~~~~~~~~~^^
  File "<string>", line 3, in virtual_memory
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
AttributeError
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 ... ok
   ERROR [root] Cannot fetch total memory size using psutil version 5
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 1648, in get_memory
    total = int(psutil.virtual_memory().total)
                ~~~~~~~~~~~~~~~~~~~~~^^
  File "<string>", line 3, in virtual_memory
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
AttributeError
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 ... ok
 WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda'
 WARNING [root] 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_lib.utils] No device found that matches the root device hints {'model': 'fastable sd131 7', 'wwn': 'fake-wwn', 'serial': 'fake-serial', 'vendor': 'fake-vendor', 'size': 10}
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size ... ok
ironic_python_agent.tests.unit.test_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_os_install_device_root_device_hints_size_not_int
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str ... ok
 WARNING [root] Using hint {'vendor': 'fake-vendor'} skipping devices: /dev/sdb
 WARNING [ironic_lib.utils] No device found that matches the root device hints {'wwn': 'fake-wwn'}
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list ... ok
 WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info ... ok
 WARNING [root] Could not retrieve vendor info from lshw: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists ... ok
 WARNING [root] Device /dev/sda is inaccessible, skipping... Error: 
 WARNING [root] Device /dev/sdb is not supported by pyudev, skipping... Error: No block device with number 1234
 WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: 
 WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: 
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device ... ok
 WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices.
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial ... ok
 WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: 
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev ... ok
 WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices.
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list ... ok
 WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj
 WARNING [root] Using hint {'name': '/dev/hdaa'} skipping devices: /dev/hdaa
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list ... ok
 WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist ... ok
 WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path'
 WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda'
 WARNING [root] 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_inject_files.TestFindAndMountPath.test_with_on_as_number
ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number ... ok
ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme
ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme ... ok
ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path
ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path ... ok
ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on
ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on ... ok
ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path
ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path ... ok
 WARNING [ironic_python_agent.inspector] Failed to gather vendor id, product id or pci class from PCI device bar: 
 WARNING [ironic_python_agent.inspector] Wrong format of vendor id, product id or pci class in PCI device baz: 
ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info
ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info ... ok
ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success
ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success ... ok
 WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device foo: 
 WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device bar: 
ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror
ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror ... ok
   ERROR [ironic_python_agent.utils] Failed to get list of PCI devices: 
ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path
ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path ... ok
ironic_python_agent.tests.unit.test_inspector.TestMisc.test_default_collector_loadable
ironic_python_agent.tests.unit.test_inspector.TestMisc.test_default_collector_loadable ... ok
ironic_python_agent.tests.unit.test_inspector.TestMisc.test_raise_on_wrong_collector
ironic_python_agent.tests.unit.test_inspector.TestMisc.test_raise_on_wrong_collector ... ok
ironic_python_agent.tests.unit.test_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_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
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
                                request_url,
    ...<4 lines>...
                                timeout=CONF.http_request_timeout,
                                **kwargs)
  File "<string>", line 3, in request
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
Exception: Boom
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup ... ok
 WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'node_node': 'also_not_node'}
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body ... ok
 WARNING [ironic_python_agent.ironic_api_client] Failed looking up node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' at http://agent-api.ironic.example.org. Check if inspection has completed? Error 400: {"node": {"uuid": "deadbeef-dabb-ad00-b105-f00d00bab10c"}}
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code ... ok
 WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'heartbeat_timeout': 300}
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data ... ok
 WARNING [ironic_python_agent.ironic_api_client] Got invalid heartbeat from the API: {'node': {'uuid': 'deadbeef-dabb-ad00-b105-f00d00bab10c'}}
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout ... ok
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.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv4
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv4 ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv6
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv6 ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_409_status_code
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_409_status_code ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_2
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_2 ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_3
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_3 ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_invalid_status_code
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_invalid_status_code ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_connection_error
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_connection_error ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception ... ok
 WARNING [ironic_python_agent.ironic_api_client] Connection error when accessing 2001:db8::1/v1/heartbeat/meow, trying the next URL. Error: 
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca ... ok
ironic_python_agent.tests.unit.test_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_netutils.TestNetutils.test_get_lldp_info
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info ... ok
 WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth0', <Mock id='4084038760'>), ('eth1', <Mock id='4084039128'>)]
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty ... ok
 WARNING [ironic_python_agent.netutils] Trailing byte received in an LLDP package: b'5'
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_malformed
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_malformed ... ok
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_multiple
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_multiple ... ok
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error ... ok
 WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth1', <Mock id='4083665472'>)]
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface ... ok
   ERROR [ironic_python_agent.netutils] Socket for network interface eth0 said that it was ready to read we were unable to read from the socket while trying to get LLDP packet. Skipping this network interface.
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/netutils.py", line 197, in _get_lldp_info
    lldp_info[interface[0]] = _receive_lldp_packets(s)
                              ~~~~~~~~~~~~~~~~~~~~~^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/netutils.py", line 160, in _receive_lldp_packets
    pkt = sock.recv(1600)
  File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
    return self._mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call
    raise effect
OSError: BOOM
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_socket_recv_error
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_socket_recv_error ... ok
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets ... ok
   ERROR [ironic_python_agent.netutils] Failed to open all RawPromiscuousSockets, attempting to close any opened sockets.
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_bind_fail
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_bind_fail ... ok
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception ... ok
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6 ... ok
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4 ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_cores_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_cores_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_cores_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_cores_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_memory_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_memory_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_valid_format
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_valid_format ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info ... ok
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive ... ok
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_status_code
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_status_code ... ok
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_url
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_url ... ok
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_error
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_error ... ok
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string ... ok
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary ... ok
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_gzip_error
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_gzip_error ... ok
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure ... ok
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl ... ok
ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_exc
ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_exc ... ok
ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_false
ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_false ... ok
ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true
ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true ... ok
ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_esp_raid
ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_esp_raid ... ok
ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid
ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_no_esp_raid ... ok
POST: /v1/commands {'name': 'do_things', 'params': []}
GOT:<WrapperTestResponse streamed [400 BAD REQUEST]>
POST: /v1/commands {'name': 'do_things', 'params': {'key': 'value'}}
GOT:<WrapperTestResponse streamed [200 OK]>
POST: /v1/commands?wait=false {'name': 'do_things', 'params': {'key': 'value'}}
GOT:<WrapperTestResponse streamed [200 OK]>
POST: /v1/commands?wait=true {'name': 'do_things', 'params': {'key': 'value'}}
GOT:<WrapperTestResponse streamed [200 OK]>
POST: /v1/commands {}
GOT:<WrapperTestResponse streamed [400 BAD REQUEST]>
POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}}
GOT:<WrapperTestResponse streamed [200 OK]>
POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}}
GOT:<WrapperTestResponse streamed [401 UNAUTHORIZED]>
GET: /v1/status None
GOT:<WrapperTestResponse streamed [200 OK]>
GET: /v1/commands/abc123 None
GOT:<WrapperTestResponse streamed [200 OK]>
GET: /v1/commands None
GOT:<WrapperTestResponse streamed [200 OK]>
GET: /v1/foo None
GOT:<WrapperTestResponse streamed [404 NOT FOUND]>
GET: / None
GOT:<WrapperTestResponse streamed [200 OK]>
GET: /v1 None
GOT:<WrapperTestResponse streamed [200 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_format_inspector.TestFormatInspectors.test_vhdx
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx_invalid
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx_invalid ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk ... ok
5+0 records in
5+0 records out
5242880 bytes (5.2 MB, 5.0 MiB) copied, 0.038838 s, 135 MB/s
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_inspector.TestCollectDefault.test_cache_hardware_info
ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info ... ok
 WARNING [ironic_python_agent.inspector] no suitable root device detected
ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_no_root_disk
ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_no_root_disk ... ok
ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok
ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok ... ok
   ERROR [ironic_python_agent.utils] collector <Mock name='mock.name' id='4110699072'> failed: boom
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed ... ok
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ... ok
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled ... ok
   ERROR [ironic_python_agent.utils] boom
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed ... ok
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error ... ok
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns ... ok
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok ... ok
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok_with_ironic_url
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok_with_ironic_url ... ok
   ERROR [root] Encountered issue attempting to validate the supplied configuration drive. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpq7b5w7xx/tmpppvddegl, error: [Errno 21] Is a directory: '/tmp/tmpq7b5w7xx/tmpppvddegl'
ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed
ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_failed ... ok
 WARNING [ironic_lib.utils] Failed to unlink /tmp/tmphvyrufd3/tmpj19hk2lz, error: [Errno 21] Is a directory: '/tmp/tmphvyrufd3/tmpj19hk2lz'
ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work
ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work ... ok
 WARNING [ironic_lib.utils] Failed to unlink /tmp/tmp4yrt96af/tmpyjnkv_6z, error: [Errno 21] Is a directory: '/tmp/tmp4yrt96af/tmpyjnkv_6z'
 WARNING [ironic_lib.utils] Failed to unlink /tmp/tmp4yrt96af/tmp4xxzgrf0, error: [Errno 21] Is a directory: '/tmp/tmp4yrt96af/tmp4xxzgrf0'
ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive
ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive ... ok
   ERROR [root] We were unable to make a new filesystem for the configuration drive. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_lib.utils] Failed to unlink /tmp/tmp3o_bkhh9/tmptjpys6_p, error: [Errno 21] Is a directory: '/tmp/tmp3o_bkhh9/tmptjpys6_p'
 WARNING [ironic_lib.utils] Failed to unlink /tmp/tmp3o_bkhh9/tmpl_oje4gm, error: [Errno 21] Is a directory: '/tmp/tmp3o_bkhh9/tmpl_oje4gm'
ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_fails_once_invalid
ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_fails_once_invalid ... ok
 WARNING [root] We were unable to examine the configuration drive, bypassing. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail
ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail ... ok
ironic-python-agent: Copying configuration from /tmp/tmpzgt0tlw0/etc/ironic-python-agent to /etc/ironic-python-agent
ironic-python-agent: Copying configuration from /tmp/tmpzgt0tlw0/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/tmporz1fwt1/etc/ironic-python-agent to /etc/ironic-python-agent
ironic-python-agent: Copying configuration from /tmp/tmporz1fwt1/etc/ironic-python-agent.d to /etc/ironic-python-agent.d
ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted
ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted ... ok
ironic-python-agent: /some/path/etc/ironic-python-agent not found
ironic-python-agent: /some/path/etc/ironic-python-agent.d not found
ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files
ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files ... ok
ironic-python-agent: /tmp/tmphbyf8a84/etc/ironic-python-agent not found
ironic-python-agent: /tmp/tmphbyf8a84/etc/ironic-python-agent.d not found
ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files
ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files ... ok
ironic-python-agent: No virtual media device detected
ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia
ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia ... ok
ironic-python-agent: Cannot use configuration from virtual media as the agent was not booted from virtual media.
   ERROR [ironic_python_agent.utils] foo
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
   ERROR [ironic_python_agent.utils] bar
   ERROR [ironic_python_agent.utils] baz
ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error
ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error ... ok
   ERROR [ironic_python_agent.utils] foo
ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise
ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise ... ok
ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok
ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok ... ok
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.TestUnmountOfConfig.test__unmount_any_config_drives
ironic_python_agent.tests.unit.test_utils.TestUnmountOfConfig.test__unmount_any_config_drives ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit ... ok
5+0 records in
5+0 records out
5242880 bytes (5.2 MB, 5.0 MiB) copied, 0.0450459 s, 116 MB/s
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit_stream_optimized
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit_stream_optimized ... ok
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_offset
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_offset ... ok
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_offset_stream_optimized
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_offset_stream_optimized ... ok
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Signature KDMV not found: b'# Co'
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_invalid
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_invalid ... ok
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Signature KDMV not found: b'# Co'
 WARNING [ironic_python_agent.format_inspector] Unsupported VMDK format b'someunknownformat'
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_invalid_type
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_invalid_type ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_stream_optimized
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_stream_optimized ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_over_limit
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_over_limit ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_under_limit
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_under_limit ... ok
ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client
ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client ... ok
ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache
ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache ... ok
ironic_python_agent.tests.unit.test_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_hardware.TestModuleFunctions.test__check_for_iscsi
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi ... ok
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi ... ok
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules ... ok
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing ... ok
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success ... ok
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success ... ok
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md1. Skipping
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid ... ok
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type ... ok
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_content_and_deleted
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_content_and_deleted ... ok
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_missing_path
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_missing_path ... ok
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_no_directories
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_no_directories ... ok
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields ... ok
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_root_without_on
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_root_without_on ... ok
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_unknown_fields
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_unknown_fields ... ok
ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test
ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test ... ok
 WARNING [ironic_python_agent.inspector] failed to get system journal
ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail
ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_generic_method_only
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_generic_method_only ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found ... ok
   ERROR [root] Unexpected error dispatching unexpected_fail to manager <ironic_python_agent.tests.unit.test_multi_hardware.FakeMainlineHardwareManager object at 0xf4651620>: A problem was encountered
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 3468, in dispatch_to_all_managers
    response = getattr(manager, method)(*args, **kwargs)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper
    return fn(self, *args, **kwargs)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail
    raise RuntimeError('A problem was encountered')
RuntimeError: A problem was encountered
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_fails
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_fails ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found ... ok
   ERROR [root] Unexpected error dispatching unexpected_fail to manager <ironic_python_agent.tests.unit.test_multi_hardware.FakeMainlineHardwareManager object at 0xf4b3a930>: A problem was encountered
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 3512, in dispatch_to_managers
    return getattr(manager, method)(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper
    return fn(self, *args, **kwargs)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail
    raise RuntimeError('A problem was encountered')
RuntimeError: A problem was encountered
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found
ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB_nvme
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB_nvme ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB_nvme
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB_nvme ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_error_counting
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_error_counting ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_use_vfat
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_use_vfat ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_with_fallback
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_with_fallback ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_num_parts_exceed
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_num_parts_exceed ... ok
   ERROR [root] Failed to create config drive on disk /dev/fake for node 12345678-1234-1234-1234-1234567890abcxyz. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_exc
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_exc ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_fail
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_fail ... ok
ironic_python_agent.tests.unit.test_partition_utils.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_partition_utils.TestGetPartition.test
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test ... ok
   ERROR [root] Finding the partition with UUID 11111111-2222-3333-4444-555555555555 on device /dev/fake failed with Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail ... ok
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_fallback_partuuid
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_fallback_partuuid ... ok
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label ... ok
   ERROR [root] No partition with UUID 11111111-2222-3333-4444-555555555555 found on device /dev/fake
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_no_device_found
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_no_device_found ... ok
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid ... ok
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_convert_to_sparse
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_convert_to_sparse ... ok
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label ... ok
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition ... ok
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition ... ok
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition ... ok
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition ... ok
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part ... ok
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral ... ok
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_uefi
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_uefi ... ok
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_without_image
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_without_image ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_disabled
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_disabled ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled ... ok
/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_tls_utils.py:57: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_before_utc.
  self.assertLess(cert.not_valid_before,
/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_tls_utils.py:59: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_after_utc.
  self.assertGreater(cert.not_valid_after,
ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate
ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate ... ok
ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate
ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate ... ok
ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute
ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute ... ok
ironic-python-agent: line 1.
ironic-python-agent: line 2 message
ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger
ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger ... ok
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device ... ok
ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: usb
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other ... ok
ironic-python-agent: Excluding device sdh1 from virtual mediaconsideration as it is a partition.
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_part
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_part ... ok
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom ... ok
ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: sata
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata ... ok
ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: scsi
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi ... ok
ironic-python-agent: Device sdh appears to not qualify as virtual due to the device size. Size: 1610612736000
ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: usb
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large ... ok
ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys
ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_bios
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_bios ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_invalid_cap
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_invalid_cap ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_override_with_instance_info
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_override_with_instance_info ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald
ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile
ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald
ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald_with_logfile
ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald_with_logfile ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor
ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict
ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string
ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string ... ok
 WARNING [ironic_python_agent.utils] Ignoring malformed capability 'test:world:2'. Format should be 'key:val'.
 WARNING [ironic_python_agent.utils] Ignoring malformed capability 'badformat'. Format should be 'key:val'.
ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_old_format_caps
ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_old_format_caps ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small
ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort
ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort
ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode
ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present
ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false
ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps
ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_disk_label
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_disk_label ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label ... ok

----------------------------------------------------------------------
Ran 1023 tests in 93.403s

OK (skipped=5)
+ stestr slowest
Test id                                                                                                                            Runtime (s)
---------------------------------------------------------------------------------------------------------------------------------  -----------
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit_stream_optimized      31.949
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit                       31.691
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx                                                13.890
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries                                              4.028
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout   3.075
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st                                        3.060
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error                                 2.039
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout                                         2.035
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed                             2.025
ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run                                                              1.141
+ rm -rf .stestr
+ for pyvers in ${PYTHON3S}
+ '[' 3.12 = disabled ']'
++ echo 3.12
++ cut -d. -f1
+ PYMAJOR=3
+ echo '===> Testing with python (python3)'
===> Testing with python (python3)
++ pwd
+ '[' -d /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages ']'
+ '[' -z /build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages ']'
+ '[' -e .stestr.conf ']'
+ '[' -x /usr/bin/python3-stestr ']'
+ STESTR=stestr
+ rm -rf .stestr
+ PYTHON=python3.12
+ subunit2pyunit
+ stestr run --parallel --subunit 'ironic_python_agent\.tests\.unit\.(?!test_inspector\.TestWaitForDhcp\.test_timeout)'
   ERROR [root] Tried to execute fake.fake_sync_command, agent is still executing Command name: name, params: {}, status: RUNNING, result: None.
   ERROR [root] Invalid content error: Invalid request body: baz
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 268, in execute_command
    result = ext.execute(command_part, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
ironic_python_agent.errors.InvalidContentError: Invalid request body: baz
   ERROR [root] Command execution error: Command execution failed: foo bar baz
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 268, in execute_command
    result = ext.execute(command_part, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
ironic_python_agent.errors.CommandExecutionError: Command execution failed: foo bar baz
ironic_python_agent.tests.unit.extensions.test_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
ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_success
ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_success ... ok
ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command
ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command ... ok
   ERROR [root] Extension do not found
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 267, in execute_command
    ext = self.get_extension(extension_part)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 238, in get_extension
    ext = self.ext_mgr[extension_name].obj
          ~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/stevedore/extension.py", line 340, in __getitem__
    return self._extensions_by_name[name]
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
KeyError: 'do'
ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension
ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension ... ok
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
   ERROR [root] Failed to query firmware of device <Mock name='mock.dev_pci' id='4110059872'>: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict_exception
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__get_device_conf_dict_exception ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__mstconfig_parse_data_no_data ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool ... ok
   ERROR [root] Failed to query tool configuration of device <Mock name='mock.dev_pci' id='4115727176'>: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_config_tool_exception ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw ... ok
   ERROR [root] Failed to query firmware of device <Mock name='mock.dev_pci' id='4108336104'>: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test__param_supp_by_fw_exception ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config ... ok
   ERROR [root] Failed to set configuration of device <Mock name='mock.dev_pci' id='4115544032'>,  ['SRIOV_EN=20']: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_set_config_exception ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config ... ok
   ERROR [root] Configuraiton ESWITCH_HAIRPIN_TOT_BUFFER_SIZE[8] for device <Mock name='mock.dev_pci' id='4109326112'> is not supported with current fw
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicConfig.test_validate_config_unsupported_config_by_fw ... ok
   ERROR [root] Configuraiton: UNSUPPORTED_PARAM is not supported by mstconfig, please update to the latest mstflint package.
   ERROR [root] Command failed: fake_async_command, error: An error occurred: failed
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command
    raise ExecutionError()
ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed
   ERROR [root] Unexpected exception performing clean step erase_devices. RuntimeError: boom
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
RuntimeError: boom
   ERROR [root] Command failed: execute_clean_step, error: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
RuntimeError: boom

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 88, in execute_clean_step
    raise errors.CleaningError(msg)
ironic_python_agent.errors.CleaningError: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom
ironic_python_agent.tests.unit.extensions.test_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.extensions.test_base.TestExtensionDecorators.test_async_command_success
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success ... ok
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success_without_agent
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success_without_agent ... ok
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_validation_failure
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_validation_failure ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.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.TestNvidiaNicFirmwareOps.test__query_device
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test__query_device ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_fw_update_if_needed_with_reset ... ok
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map ...    ERROR [root] Command failed: fake_async_command, error: An error occurred: failed
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command
    raise ExecutionError()
ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed
ok
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure ... ok
   ERROR [root] Error performing clean step erase_devices
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot
   ERROR [root] Command failed: execute_clean_step, error: Block device caused unknown error: I'm a teapot
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_get_nic_psid ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_is_image_changed_true ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_no_data ... ok
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name ... ok
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success ... ok
   ERROR [root] Malformed clean_step, no "step" key: {}
   ERROR [root] Command failed: execute_clean_step, error: Malformed clean_step, no "step" key: {}
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/clean.py", line 74, in execute_clean_step
    raise ValueError(msg)
ValueError: Malformed clean_step, no "step" key: {}
ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step
ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step ... ok
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_validation_failure
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_validation_failure ... ok
ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception
ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_with_running_fw
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareOps.test_parse_mstflint_query_output_with_running_fw ... ok
ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail
ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail ... ok
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure ... ok
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success
ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success ... ok
   ERROR [root] Clean version mismatch for command execute_clean_step
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
   ERROR [root] Unexpected exception performing deploy step erase_devices. RuntimeError: boom
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
RuntimeError: boom
   ERROR [root] Command failed: execute_deploy_step, error: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
RuntimeError: boom

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 88, in execute_deploy_step
    raise errors.DeploymentError(msg)
ironic_python_agent.errors.DeploymentError: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom
   ERROR [root] Error performing deploy step erase_devices
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot
   ERROR [root] Command failed: execute_deploy_step, error: Block device caused unknown error: I'm a teapot
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot
ironic_python_agent.tests.unit.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_clean.TestCleanExtension.test_execute_clean_step_tuple_result
ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_tuple_result ... ok
ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_version_mismatch
ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_version_mismatch ...  WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
ok
 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.extensions.test_log.TestLogExtension.test_collect_system_logs
ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs ... ok
   ERROR [root] Malformed deploy_step, no "step" key: {}
ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue
ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue   ERROR [root] Command failed: execute_deploy_step, error: Malformed deploy_step, no "step" key: {}
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/deploy.py", line 73, in execute_deploy_step
    raise ValueError(msg)
ValueError: Malformed deploy_step, no "step" key: {}
 ... 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_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_with_args
ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_with_args ... ok
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail ... ok
ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords
ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords ... ok
ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password
ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password ... ok
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_agent.TestAdvertiseAddress.test_route_failed
ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed ... 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-9.14.0/ironic_python_agent/extensions/rescue.py", line 48, in write_rescue_password
    with open(PASSWORD_FILE, 'w') as f:
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
OSError
ironic_python_agent.tests.unit.extensions.test_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.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
   ERROR [root] Command failed: sleep, error: An error occurred: An unexpected error occurred. Please try back later.
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep
    time.sleep(sleep_info['time'])
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
ironic_python_agent.errors.RESTError: An error occurred: An unexpected error occurred. Please try back later.
 WARNING [ironic_python_agent.agent] No route to host 1.2.1.2, route record: Error: some error text
ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror
ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror ... ok
ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry
ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry ... ok
   ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow
    raise errors.CommandExecutionError(
ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed
ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed
ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed ... ok
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result ... ok
 WARNING [ironic_python_agent.agent] Cannot get route to host fc00:1111::1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_python_agent.agent] No route to host 1.2.1.2, route record: Error: some error text
 WARNING [ironic_python_agent.agent] Cannot get route to host fc00:1111::1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_several_urls_and_retries
ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_several_urls_and_retries ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image ... ok
   ERROR [root] Clean version mismatch for command execute_deploy_step
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_agent.TestAdvertiseAddress.test_route_with_host
ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host ... ok
   ERROR [root] Command failed: sleep, error: foo
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep
    time.sleep(sleep_info['time'])
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1202, in _execute_mock_call
    raise result
Exception: foo
   ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow
    raise errors.CommandExecutionError(
ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed
ironic_python_agent.tests.unit.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_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_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_deploy.TestDeployExtension.test_execute_deploy_step_with_args
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_with_args ... ok
ironic_python_agent.tests.unit.extensions.test_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_agent.TestAdvertiseAddress.test_route_with_ipv6
ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ipv6 ... ok
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_get_deploy_steps
ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_get_deploy_steps ... ok
ironic_python_agent.tests.unit.extensions.test_standby.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
 WARNING [root] Can't find field vendor for device lo in device class net
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_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_standby.TestImageDownload.test_download_image_and_checksum
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum ... ok
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step ... ok
 WARNING [root] Can't find field vendor for device lo in device class net
ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map
ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map ... ok
ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_missing_command
ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_missing_command ... ok
ironic_python_agent.tests.unit.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.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
   ERROR [root] Unexpected exception performing service step erase_devices. RuntimeError: boom
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
RuntimeError: boom
   ERROR [root] Command failed: execute_service_step, error: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
RuntimeError: boom

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 88, in execute_service_step
    raise errors.ServicingError(msg)
ironic_python_agent.errors.ServicingError: Service step failed: Unexpected exception performing service step erase_devices. RuntimeError: boom
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata ... ok
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 ... ok
ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success
ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file ... ok
ironic_python_agent.tests.unit.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_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr ... ok
 WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly.
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_sgdisk_fail
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_sgdisk_fail ... ok
ironic_python_agent.tests.unit.extensions.test_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_standby.TestImageDownload.test_download_image_and_checksum_empty_file_md5
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file_md5 ... ok
ironic_python_agent.tests.unit.test_disk_utils.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
 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] Error performing service step erase_devices
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot
   ERROR [root] Command failed: execute_service_step, error: Block device caused unknown error: I'm a teapot
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 77, in execute_service_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force
ironic_python_agent.tests.unit.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__append_uefi_to_fstab_handles_error
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__append_uefi_to_fstab_handles_error ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed ... ok
ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition
ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition ... ok
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_fail ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_bios
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_bios ... ok
ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found
ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root ... ok
ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt
ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt ... ok
   ERROR [root] Malformed service_step, no "step" key: {}
   ERROR [root] Command failed: execute_service_step, error: Malformed service_step, no "step" key: {}
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/service.py", line 74, in execute_service_step
    raise ValueError(msg)
ValueError: Malformed service_step, no "step" key: {}
ironic_python_agent.tests.unit.extensions.test_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
   ERROR [ironic_python_agent.disk_utils] Security: Detected image format was qcow3, but only raw, qcow2 are allowed
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_no_step
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_no_step ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep ... ok
ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr
ironic_python_agent.tests.unit.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr ... ok
ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch
ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_format_mismatch ... 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.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, qcow2 are allowed
   ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow
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
   ERROR [root] Command failed: install_bootloader, error: meow
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader
    _install_grub2(device,
  File "<string>", line 3, in _install_grub2
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
OSError: meow
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_tuple_result ... ok
ironic_python_agent.tests.unit.extensions.test_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_grub_failure_api_override
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override ... ok
ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2
ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_happy_qcow2 ... ok
   ERROR [root] Clean version mismatch for command execute_service_step
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
   ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_version_mismatch ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure ... ok
ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled
ironic_python_agent.tests.unit.test_disk_utils.GetAndValidateImageFormat.test_safety_check_fail_but_disabled ... ok
ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty
ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_empty ... ok
   ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_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_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_disk_utils.GetDeviceInformationTestCase.test_fields
ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_fields ... ok
ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal
ironic_python_agent.tests.unit.test_disk_utils.GetDeviceInformationTestCase.test_normal ... ok
   ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_manage_failure
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_manage_failure ... ok
ironic_python_agent.tests.unit.test_disk_utils.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_service.TestServiceExtension.test_execute_service_step_with_args
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_execute_service_step_with_args ... ok
ironic_python_agent.tests.unit.test_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.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_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_psmisc
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_psmisc ... ok
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_busybox
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_busybox ... ok
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_psmisc
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_psmisc ... ok
 WARNING [ironic_python_agent.disk_utils] Failed to check the device fake-dev with fuser: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: 'fake'
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_device
ironic_python_agent.tests.unit.test_disk_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_device ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 ... ok
 WARNING [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'
   ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None.
 WARNING [ironic_python_agent.extensions.image] Unable to umount vfat partitions. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/dev. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/proc. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/run. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/sys. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
ironic_python_agent.tests.unit.test_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.extensions.test_service.TestServiceExtension.test_get_service_steps
ironic_python_agent.tests.unit.extensions.test_service.TestServiceExtension.test_get_service_steps ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha512
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple_sha512 ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file ... ok
ironic_python_agent.tests.unit.test_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.extensions.test_image.TestImageExtension.test__install_grub2_prep
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_prep ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file_md5
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file_md5 ... ok
ironic_python_agent.tests.unit.extensions.test_standby.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.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.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv
ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv ... ok
   ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boop'
Stderr: None
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_bios
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_bios ... ok
ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders
ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders ... ok
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.008979320526123047 seconds. Error: Received status code 401 from http://example.org, expected 200. Response body: Unauthorized Response headers: <MagicMock name='get().headers' id='4110730200'>
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.TestImageDownload.test_download_image_fail
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail ... ok
 WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: <MagicMock name='get().headers' id='4110645576'>
ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders
ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image ... ok
 WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: <MagicMock name='get().headers' id='4110645576'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00788569450378418 seconds. Error: Received status code 500 from http://example.org, expected 200. Response body: Oops Response headers: <MagicMock name='get().headers' id='4110645576'>
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries ... ok
ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers
ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers ... ok
 WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: 
 WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body:   Response headers: <Mock name='mock.headers' id='4110873632'>
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image_configdirve
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image_configdirve ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success
ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_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.
 WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command.
Command: grub2-install
Exit code: 1
Stdout: ''
Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'.
 WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command.
Command: grub2-install
Exit code: 1
Stdout: ''
Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'.
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq ... 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_hardware.TestHardwareManagerLoading.test_get_managers_detail
ironic_python_agent.tests.unit.test_hardware.TestHardwareManagerLoading.test_get_managers_detail ... 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.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq_exception
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestCheckPrereq.test_check_prereq_exception ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image ... ok
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00039458274841308594 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.00039458274841308594 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_already_running ... ok
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.007089853286743164 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.007089853286743164 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.011073112487792969 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.011073112487792969 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'lacking kernel support'
Stderr: None
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.01509857177734375 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.01509857177734375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.019101381301879883 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.019101381301879883 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0203249454498291 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.0203249454498291 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support ... ok
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.024245262145996094 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.024245262145996094 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.03109264373779297 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.03109264373779297 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: 
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.03513669967651367 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.03513669967651367 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.039084434509277344 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
 WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries.
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_ll_fails ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi ... ok
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf ... ok
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.000270843505859375 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.000270843505859375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005446672439575195 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.005446672439575195 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.011322498321533203 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath ... ok
 WARNING [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.011322498321533203 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.019272565841674805 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.019272565841674805 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.02330183982849121 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.02330183982849121 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.027240991592407227 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.027240991592407227 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.031238555908203125 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.031238555908203125 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.035245418548583984 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.035245418548583984 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [root] Attempted to determine if multipath tools were present. Not detected. Error recorded: 
 WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries.
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.03928709030151367 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.03928709030151367 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path'
 WARNING [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.04326152801513672 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used.
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_image_info_credential ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_fstab
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_fstab ... ok
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_not_found_mpath_config
ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_not_found_mpath_config ... ok
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0002636909484863281 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.0002636909484863281 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
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.extensions.standby] URL: http://example.org; time: 0.0081787109375 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.0081787109375 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.014664888381958008 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.014664888381958008 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
   ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'error'
Stderr: None.
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.018649578094482422 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.018649578094482422 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.022654056549072266 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_enabled_no_results
ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_enabled_no_results ... ok
 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.022654056549072266 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails ...  WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.024809837341308594 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
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.024809837341308594 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.03067636489868164 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.03067636489868164 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0346531867980957 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.0346531867980957 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.03867053985595703 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.03867053985595703 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.04263710975646973 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_node_indicates_skip
ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_node_indicates_skip ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential ... ok
ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_not_enabled
ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_not_enabled ... ok
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00032067298889160156 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries.
 WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path'
 WARNING [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.00032067298889160156 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping
 WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used.
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.010346174240112305 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.010346174240112305 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.013894081115722656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
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 ...  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.013894081115722656 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
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 ...  WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.01618361473083496 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.01618361473083496 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.022514820098876953 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.022514820098876953 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.026510000228881836 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.026510000228881836 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.03047919273376465 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.03047919273376465 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.03374361991882324 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
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 ...  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.03374361991882324 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.03582310676574707 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.03582310676574707 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.039449214935302734 seconds. Error: Missing ['user', 'password'] fields from HTTP(S) basic auth config
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_basic_auth_mixed_credential_second ... ok
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
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002273082733154297 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
 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.002273082733154297 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
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
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0061872005462646484 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
 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.0061872005462646484 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.009696483612060547 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
 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.009696483612060547 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.010994195938110352 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
 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.010994195938110352 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.012045145034790039 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
 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.012045145034790039 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.013163328170776367 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
 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.013163328170776367 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.016830921173095703 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
 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.016830921173095703 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.01805281639099121 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader ... ok
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.01805281639099121 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.020079612731933594 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
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
 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.020079612731933594 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.021898746490478516 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='4102145608'> Response headers: <MagicMock name='get().headers' id='4102135312'>
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_inject_files.TestFindAndMountPath.test_without_on_wrong_path
ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path ... ok
 WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed
 WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed
 WARNING [ironic_python_agent.extensions.image] Failed to copy grubenv file. Error: copy failed
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_conf_success
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_conf_success ... ok
ironic_python_agent.tests.unit.extensions.test_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_inject_files.TestInjectOne.test_delete
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete ... ok
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_basic_auth_image_info_success ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg ... ok
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content ... 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_inject_files.TestInjectOne.test_plain_content_with_modes
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes ... 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_no_loader
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader ... ok
   ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /tmp/tmpwp0l0ber/fake_id; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails ... ok
ironic_python_agent.tests.unit.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.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_inject_files.TestInjectOne.test_plain_content_with_on
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_on ... 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_gen_auth_from_image_info_user_pass_success
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_image_info_user_pass_success ... ok
ironic_python_agent.tests.unit.extensions.test_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_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_inject_files.TestInjectOne.test_plain_content_with_owner
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_gen_auth_from_oslo_conf_user_pass_success ... ok
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location ... ok
 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
ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url ... 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
   ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
   ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None, falling back to sysrq-trigger
   ERROR [root] Command failed: power_off, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None.
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1041, in _run_shutdown_command
    utils.execute("echo o > /proc/sysrq-trigger", shell=True)
  File "<string>", line 3, in execute
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1057, in power_off
    self._run_shutdown_command('poweroff')
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1045, in _run_shutdown_command
    raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr)
ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None.
ironic_python_agent.tests.unit.test_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_standby.TestStandbyExtension.test_power_off
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off ... ok
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_content_and_deleted
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_content_and_deleted ... 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
 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
   ERROR [root] Command failed: power_off, error: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 825, in sync_clock
    execute('ntpdate', CONF.ntp_server)
  File "<string>", line 3, in execute
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1096, in _sync_clock
    utils.sync_clock(ignore_errors=ignore_errors)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 832, in sync_clock
    raise errors.CommandExecutionError(msg)
ironic_python_agent.errors.CommandExecutionError: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1057, in power_off
    self._run_shutdown_command('poweroff')
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1016, in _run_shutdown_command
    self._sync_clock(ignore_errors=True)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1106, in _sync_clock
    raise errors.ClockSyncError(msg)
ironic_python_agent.errors.ClockSyncError: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_missing_path
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_missing_path ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_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_inject_files.TestValidateFiles.test_no_directories
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_no_directories ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded ... 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_standby.TestStandbyExtension.test_prepare_image
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image ... 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.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty ... ok
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_unknown_fields
ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_unknown_fields ... 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_inspector.TestNormalizeMac.test_correct_mac
ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac ... ok
   ERROR [root] Command failed: prepare_image, error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests!
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 980, in prepare_image
    _validate_partitioning(device)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 794, in _validate_partitioning
    disk_utils.partprobe(device)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/disk_utils.py", line 665, in partprobe
    utils.execute('partprobe', device, attempts=attempts)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/base.py", line 89, in do_not_call
    raise Exception(
Exception: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests!
ironic_python_agent.tests.unit.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_inspector.TestNormalizeMac.test_pxelinux_mac
ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode ... ok
ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all
ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive ... ok
 WARNING [ironic_python_agent.extensions.image] 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
ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only
ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only ... 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.standby] Failed to call get_disk_identifier: Unable to obtain the root_uuid parameter: The hexdump tool may be missing in IPA: 
ironic_python_agent.tests.unit.extensions.test_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_inspector.TestWaitForDhcp.test_disabled
ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled ... 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__get_ironic_api_version_already_set
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_already_set ... 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 [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in request
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
Exception: Boom
ironic_python_agent.tests.unit.extensions.test_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_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.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
 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__get_ironic_api_version_fresh
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh ... ok
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo ... ok
 WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly.
 WARNING [ironic_python_agent.extensions.image] efibootmgr is not available in the ramdisk
ironic_python_agent.tests.unit.test_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   ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error 
 ... ok
   ERROR [root] Command failed: install_bootloader, error: 
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader
    _install_grub2(device,
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/image.py", line 167, in _install_grub2
    root_partition = partition_utils.get_partition(device, uuid=root_uuid)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/partition_utils.py", line 615, in get_partition
    ipa_utils.rescan_device(device)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 921, in rescan_device
    execute('partx', '-av', device, attempts=3, delay_on_retry=True)
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/utils.py", line 77, in execute
    return ironic_utils.execute(*cmd, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in do_not_call
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
FileNotFoundError
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure
ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_stream_true
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_stream_true ... ok
   ERROR [ironic_python_agent.extensions.poll] Node lookup data can only be set when the Ironic Python Agent is running in standalone mode.
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup ... ok
ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success
ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success ... ok
ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone
ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone ... ok
ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success
ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success ... ok
 WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'node_node': 'also_not_node'}
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_file ... ok
 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] Failed to move file: /firmware_images/fw1.bin, 
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_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.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'heartbeat_timeout': 300}
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_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_do_lookup_bad_response_data
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data ... ok
 WARNING [ironic_python_agent.ironic_api_client] Got invalid heartbeat from the API: {'node': {'uuid': 'deadbeef-dabb-ad00-b105-f00d00bab10c'}}
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout ... ok
   ERROR [root] Failed to open URL data: HTTP Error 500: Internal Error
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_http_err ... ok
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   ERROR [root] Failed to open URL data: <urlopen error URL error>
 ... 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_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
   ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
   ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None, falling back to sysrq-trigger
   ERROR [root] Command failed: run_image, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None.
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1043, in _run_shutdown_command
    utils.execute("echo b > /proc/sysrq-trigger", shell=True)
  File "<string>", line 3, in execute
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1051, in run_image
    self._run_shutdown_command('reboot')
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/standby.py", line 1045, in _run_shutdown_command
    raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr)
ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None.
ironic_python_agent.tests.unit.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.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
   ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
   ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
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 WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 ... ok
 WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None, falling back to sysrq-trigger
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid ... ok
ironic_python_agent.tests.unit.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_standby.TestStandbyExtension.test_run_shutdown_command_valid
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid ... ok
ironic_python_agent.tests.unit.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_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback ... ok
 WARNING [ironic_python_agent.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_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq ... ok
ironic_python_agent.tests.unit.test_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
   ERROR [root] Mismatch provided checksum a94e683ea16d9ae44768f0a65942234d for image http://10.10.10.10/firmware_images/fw1.bin
 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_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_agent.TestAgentStandalone.test_run
ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run ... ok
   ERROR [root] The provided psid MT_0000000227 does not match the image psid MT_0000000228
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_checksum
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_checksum ... ok
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_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_409_status_code
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_409_status_code ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported ... ok
   ERROR [root] The provided firmware version 20.34.1012 does not match image firmware version 20.35.1012
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicFirmwareBinary.test_nvidia_nic_firmware_binray_mismatch_fw_version ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.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_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_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.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_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_3
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_3 ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_invalid_status_code
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_invalid_status_code ... ok
   ERROR [root] duplicate settings for device ID 1017 
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_duplicate_device_id ... ok
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
   ERROR [root] There is no deviceID provided for this settings
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.TestNvidiaNicsConfig.test_create_settings_map_invalid_firmware_settings_config ... ok
ironic_python_agent.tests.unit.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.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.ironic_api_client] Connection error when accessing 2001:db8::1/v1/heartbeat/meow, trying the next URL. Error: 
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_several_urls ... ok
ironic_python_agent.tests.unit.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_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries ... ok
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface ... ok
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface_expired
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface_expired ... ok
ironic_python_agent.tests.unit.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
   ERROR [root] Command failed: foo_command, error: command execution failed
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_agent.py", line 44, in foo_execute
    raise EXPECTED_ERROR
RuntimeError: command execution failed
ironic_python_agent.tests.unit.test_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_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_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token ... ok
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca
ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca ... ok
 WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.)
ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure
ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure ... ok
 WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.)
ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs
ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs ... ok
 WARNING [ironic_python_agent.numa_inspector] Failed to get list of NUMA nodes, NUMA node path does not exist: /sys/devices/system/node/
ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs
ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs ... ok
ironic_python_agent.tests.unit.test_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_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success
ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success ... ok
   ERROR [root] Encountered issue attempting to validate the supplied configuration drive. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpe1_ayxia/tmp3tltoeay, error: [Errno 21] Is a directory: '/tmp/tmpe1_ayxia/tmp3tltoeay'
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_agent.TestBaseAgent.test_get_node_uuid
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid ... ok
 WARNING [ironic_lib.utils] Failed to unlink /tmp/tmp4r25dbu6/tmpfr_p9_q9, error: [Errno 21] Is a directory: '/tmp/tmp4r25dbu6/tmpfr_p9_q9'
ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work
ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__does_config_drive_work ... ok
 WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpdzchke7q/tmp2tzrxqmv, error: [Errno 21] Is a directory: '/tmp/tmpdzchke7q/tmp2tzrxqmv'
 WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpdzchke7q/tmpk597z7im, error: [Errno 21] Is a directory: '/tmp/tmpdzchke7q/tmpk597z7im'
ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive
ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive ... ok
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_invalid_node
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_invalid_node ... ok
   ERROR [root] We were unable to make a new filesystem for the configuration drive. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpek8wakdd/tmpc52b0xpw, error: [Errno 21] Is a directory: '/tmp/tmpek8wakdd/tmpc52b0xpw'
 WARNING [ironic_lib.utils] Failed to unlink /tmp/tmpek8wakdd/tmpxhfvc6wd, error: [Errno 21] Is a directory: '/tmp/tmpek8wakdd/tmpxhfvc6wd'
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_agent.TestBaseAgent.test_get_node_uuid_unassociated
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_unassociated ... ok
 WARNING [root] We were unable to examine the configuration drive, bypassing. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail
ironic_python_agent.tests.unit.test_partition_utils.TestConfigDriveTestRecovery.test__try_build_fat32_config_drive_graceful_fail ... ok
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test ... ok
   ERROR [root] Finding the partition with UUID 11111111-2222-3333-4444-555555555555 on device /dev/fake failed with Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail ... ok
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror ... ok
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_fallback_partuuid
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_fallback_partuuid ... ok
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 ... ok
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label ... ok
   ERROR [root] No partition with UUID 11111111-2222-3333-4444-555555555555 found on device /dev/fake
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_no_device_found
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_no_device_found ... ok
ironic_python_agent.tests.unit.test_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_partition_utils.TestGetPartition.test_partuuid
ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid ... 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.WorkOnDiskTestCase.test_convert_to_sparse
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_convert_to_sparse ... ok
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label ... ok
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status ... ok
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition ... ok
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition ... ok
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition ... ok
   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,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver
    self.clear()
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf
    raise NoResolverConfiguration("no nameservers")
dns.resolver.NoResolverConfiguration: no nameservers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf4640a08>: 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(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  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("<urllib3.connection.HTTPSConnection object at 0xf4640a08>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  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("<urllib3.connection.HTTPSConnection object at 0xf4640a08>: 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_partition_utils.WorkOnDiskTestCase.test_no_swap_partition
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition ... ok
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run ... ok
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part ... ok
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral
ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral ... ok
   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,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver
    self.clear()
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf
    raise NoResolverConfiguration("no nameservers")
dns.resolver.NoResolverConfiguration: no nameservers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf3c985b8>: 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(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  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("<urllib3.connection.HTTPSConnection object at 0xf3c985b8>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  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("<urllib3.connection.HTTPSConnection object at 0xf3c985b8>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token ... ok
ironic_python_agent.tests.unit.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_raid_utils.TestFindESPRAID.test_esp_raid
ironic_python_agent.tests.unit.test_raid_utils.TestFindESPRAID.test_esp_raid ... ok
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 463, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver
    self.clear()
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf
    raise NoResolverConfiguration("no nameservers")
dns.resolver.NoResolverConfiguration: no nameservers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf3c87948>: 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(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  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("<urllib3.connection.HTTPSConnection object at 0xf3c87948>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  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("<urllib3.connection.HTTPSConnection object at 0xf3c87948>: 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_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_agent.TestBaseAgent.test_run_listen_host_port
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port ... ok
/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_tls_utils.py:57: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_before_utc.
  self.assertLess(cert.not_valid_before,
/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_tls_utils.py:59: CryptographyDeprecationWarning: Properties that return a naïve datetime object have been deprecated. Please switch to not_valid_after_utc.
  self.assertGreater(cert.not_valid_after,
ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate
ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate ... ok
ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate
ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate ... ok
ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute
ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute ... 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,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver
    self.clear()
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf
    raise NoResolverConfiguration("no nameservers")
dns.resolver.NoResolverConfiguration: no nameservers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf3a7eb58>: 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(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  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("<urllib3.connection.HTTPSConnection object at 0xf3a7eb58>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  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("<urllib3.connection.HTTPSConnection object at 0xf3a7eb58>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_raise_keyboard_interrupt
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_raise_keyboard_interrupt ... ok
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd ... ok
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none ... ok
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_ntpdate
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_ntpdate ... ok
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony ... ok
 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,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver
    self.clear()
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf
    raise NoResolverConfiguration("no nameservers")
dns.resolver.NoResolverConfiguration: no nameservers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf3ac8bb8>: 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(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  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("<urllib3.connection.HTTPSConnection object at 0xf3ac8bb8>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  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("<urllib3.connection.HTTPSConnection object at 0xf3ac8bb8>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))
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
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
   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_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_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_api.TestIronicAPI.test_execute_agent_command_params_validation
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation ... ok
   ERROR [ironic_lib.exception] Exception in string format operation (arguments )
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__
    message = self._msg_fmt % kwargs
              ~~~~~~~~~~~~~~^~~~~~~~
KeyError: 'service'
 WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat
   ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server.
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 2: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Error downloading image: Download of image fake_id failed: Timed out reading next chunk from webserver
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp ... 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 [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception ... ok
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait ... 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,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver
    self.clear()
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf
    raise NoResolverConfiguration("no nameservers")
dns.resolver.NoResolverConfiguration: no nameservers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf3c84f60>: 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(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  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("<urllib3.connection.HTTPSConnection object at 0xf3c84f60>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  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("<urllib3.connection.HTTPSConnection object at 0xf3c84f60>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_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_agent.TestBaseAgent.test_run_with_sleep
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep ... ok
ironic-python-agent: Copying configuration from /tmp/tmpcby8szux/etc/ironic-python-agent to /etc/ironic-python-agent
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: Copying configuration from /tmp/tmpcby8szux/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/tmpt2dah4m0/etc/ironic-python-agent to /etc/ironic-python-agent
ironic-python-agent: Copying configuration from /tmp/tmpt2dah4m0/etc/ironic-python-agent.d to /etc/ironic-python-agent.d
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_utils.TestCopyConfigFromVmedia.test_copy_mounted
ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted ... ok
ironic-python-agent: /some/path/etc/ironic-python-agent not found
ironic_python_agent.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: /some/path/etc/ironic-python-agent.d not found
ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files
ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files ... ok
ironic-python-agent: /tmp/tmplwfjzwjw/etc/ironic-python-agent not found
ironic-python-agent: /tmp/tmplwfjzwjw/etc/ironic-python-agent.d not found
ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files
ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files ... ok
ironic_python_agent.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: No virtual media device detected
   ERROR [ironic_lib.exception] Exception in string format operation (arguments )
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__
    message = self._msg_fmt % kwargs
              ~~~~~~~~~~~~~~^~~~~~~~
KeyError: 'service'
ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia
ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia ... ok
 WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat
ironic-python-agent: Cannot use configuration from virtual media as the agent was not booted from virtual media.
 WARNING [root] Can't find field vendor for device lo in device class net
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_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
   ERROR [ironic_python_agent.agent] Neither ipa-api-url nor inspection_callback_urlfound, please check your pxe append parameters.
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_without_inspection_and_apiurl
ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_without_inspection_and_apiurl ... ok
ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok
ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok ... ok
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid ... ok
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status ... ok
   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,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver
    self.clear()
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf
    raise NoResolverConfiguration("no nameservers")
dns.resolver.NoResolverConfiguration: no nameservers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf39dcb10>: 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(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  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("<urllib3.connection.HTTPSConnection object at 0xf39dcb10>: 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-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/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("<urllib3.connection.HTTPSConnection object at 0xf39dcb10>: 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_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_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_api.TestIronicAPI.test_list_command_results
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results ... ok
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found ... ok
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root ... ok
   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,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver
    self.clear()
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf
    raise NoResolverConfiguration("no nameservers")
dns.resolver.NoResolverConfiguration: no nameservers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf55a40a8>: 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(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  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("<urllib3.connection.HTTPSConnection object at 0xf55a40a8>: 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-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/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("<urllib3.connection.HTTPSConnection object at 0xf55a40a8>: 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_api.TestIronicAPI.test_v1_root
ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root ... ok
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status ... ok
   ERROR [ironic_python_agent.burnin] SMART test on /dev/sdj failed with 'string'
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing ... ok
   ERROR [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,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 407, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 347, in _resolver
    self.clear()
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 355, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 945, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 1039, in read_resolv_conf
    raise NoResolverConfiguration("no nameservers")
dns.resolver.NoResolverConfiguration: no nameservers

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 558, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 529, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 518, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 473, in resolve
    _raise_new_error(EAI_NODATA_ERROR)
  File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 100, in _raise_new_error
    raise error_instance.__class__(*error_instance.args)
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 693, in connect
    self.sock = sock = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 206, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0xf39c7c48>: 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(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  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("<urllib3.connection.HTTPSConnection object at 0xf39c7c48>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 130, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/ironic_api_client.py", line 90, in _request
    resp = self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  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("<urllib3.connection.HTTPSConnection object at 0xf39c7c48>: Failed to resolve 'fake_api.example.org' ([Errno -2] Name or service not known)"))
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default ... ok
ironic_python_agent.tests.unit.test_agent.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_burnin.TestBurnin.test_fio_disk_no_default
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default ... ok
   ERROR [ironic_python_agent.burnin] fio (disk) failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls
ironic_python_agent.tests.unit.test_agent.TestFromConfig.test_override_urls ... ok
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_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_agent.TestHeartbeater.test__heartbeat_expected
ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected ... ok
   ERROR [ironic_python_agent.agent] error sending heartbeat to <Mock name='mock.api_urls' id='4086352608'>
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/agent.py", line 148, in do_heartbeat
    self.api.heartbeat(
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
Exception: uh oh!
ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat
ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat ... ok
ironic_python_agent.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute
ironic_python_agent.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute ... ok
ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct
ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct ... ok
ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme
ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme ... ok
ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect
ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect ... ok
ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt
ironic_python_agent.tests.unit.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt ... ok
 WARNING [ironic_python_agent.efi_utils] Invalid sgdisk line: I am a teaport
 WARNING [ironic_python_agent.efi_utils] No UUID information provided in sgdisk output for partition 1 on device /dev/fake
ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken
ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken ... ok
ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok
ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok ... ok
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_clean_boot_records ... ok
 WARNING [ironic_python_agent.efi_utils] Empty EFI partition detected.
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid ... ok
   ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 131, in manage_uefi
    utils.execute('mount', efi_partition, efi_partition_mount_point)
  File "<string>", line 3, in execute
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure ... ok
   ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi
    _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part,
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr
    boot_records = list(get_boot_records())
                   ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records
    efi_output = utils.execute('efibootmgr', '-v', binary=True)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in execute
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1202, in _execute_mock_call
    raise result
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
   ERROR [ironic_python_agent.efi_utils] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'no umount'
Stderr: None
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_failure
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_failure ... ok
   ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi
    _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part,
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 351, in _run_efibootmgr
    boot_records = list(get_boot_records())
                   ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/efi_utils.py", line 282, in get_boot_records
    efi_output = utils.execute('efibootmgr', '-v', binary=True)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in execute
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1202, in _execute_mock_call
    raise result
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount ... ok
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv ... ok
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_get_boot_records ... ok
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition ... ok
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_nvme_device
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_nvme_device ... ok
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_ok
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_ok ... ok
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid ... ok
   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_efi_utils.TestManageUefi.test_wholedisk
ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk ... ok
ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder
ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder ... ok
ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_ironic_lib
ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_ironic_lib ... ok
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.TestListHardwareInfo.test_caching
ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching ... 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_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_inject_files.TestInjectFiles.test_empty
ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty ... ok
ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param
ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param ... ok
ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node
ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node ... ok
ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok
ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok ... ok
ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_verify_false
ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_verify_false ... ok
ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks
ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks ... ok
ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries
ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries ... ok
   ERROR [ironic_python_agent.utils] failed to run hardware-detect utility: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed
ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed ... ok
ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks
ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks ... ok
   ERROR [ironic_python_agent.utils] JSON returned from hardware-detect cannot be decoded: Expecting value: line 1 column 1 (char 0)
ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed
ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed ... ok
ironic_python_agent.tests.unit.test_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_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_cores_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_cores_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_cores_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_cores_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_memory_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_memory_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_valid_format
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_valid_format ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info ... ok
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info
ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB_nvme
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB_nvme ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB_nvme
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB_nvme ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_error_counting
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_error_counting ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_use_vfat
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_use_vfat ... ok
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_with_fallback
ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt_with_fallback ... ok
   ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server.
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout ... ok
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
 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!
   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
 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_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.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_write_error
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_write_error ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync ... ok
ironic_python_agent.tests.unit.test_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
   ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum ... ok
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive
ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive ... ok
ironic_python_agent.tests.unit.extensions.test_standby.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_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.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.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.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_legacy_md5_checksum_enabled ... ok
ironic_python_agent.tests.unit.test_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.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_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.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_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.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_without_md5
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_without_md5 ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_url
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_url ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_password
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_password ... ok
ironic_python_agent.tests.unit.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.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_user
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_empty_user ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_password ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_basic_auth_creds_none_user ... ok
   ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently algo-beyond-milky-way) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_fails_if_unknown_is_used
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_fails_if_unknown_is_used ... ok
ironic_python_agent.tests.unit.test_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] Image failed to verify against checksum. location: /foo/bar; image ID: fake_id; image checksum: fake-checksum; verification checksum: invalid-checksum
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure ... ok
   ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /foo/bar; image ID: fake_id; image checksum: fake-sha512-value; verification checksum: invalid-checksum
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields ... ok
   ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently unsupported-algorithm) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback ... ok
ironic_python_agent.tests.unit.test_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_verify_image_success
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success ... ok
ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc
ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc ... ok
ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent
ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent ... ok
ironic_python_agent.tests.unit.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.disk_utils] Unable to probe for partitions on device /dev/fake, the partitioning table may be broken. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc
ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc ... ok
ironic_python_agent.tests.unit.extensions.test_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_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present
ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present ... ok
ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present_uppercase
ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present_uppercase ... ok
ironic_python_agent.tests.unit.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_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.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_raid_utils.TestRaidUtils.test_create_raid_device
ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device ... ok
ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device
ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails ... ok
 WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding!
ironic_python_agent.tests.unit.test_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
   ERROR [ironic_lib.exception] Exception in string format operation (arguments )
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/ironic_lib/exception.py", line 134, in __init__
    message = self._msg_fmt % kwargs
              ~~~~~~~~~~~~~~^~~~~~~~
KeyError: 'reason'
 WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding!
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_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
   ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests!
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image ... ok
ironic_python_agent.tests.unit.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.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.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.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_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
   ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests!
ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt
ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid ... ok
   ERROR [ironic_python_agent.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests!
ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided
ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided ... ok
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi ... ok
ironic_python_agent.tests.unit.hardware_managers.nvidia.test_nvidia_fw_update.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_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.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_utils.TestCheckVirtualMedia.test_check_vmedia_device
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device ... ok
   ERROR [root] Duplicate componentFlavor MT_0000000540
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: Device sdh was disqualified as virtual media. Type: other, Transport: usb
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other ... ok
ironic_python_agent.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: Excluding device sdh1 from virtual mediaconsideration as it is a partition.
   ERROR [root] Invalid parameters for image {'url': 'http://10.10.10.10/firmware_images/fw2.bin', 'checksum': 'a94e683ea16d9ae44768f0a65942234c', 'checksumType': 'sha512', 'component': 'MT_0000000652', 'version': '24.34.1002'},please provide the following parameters url, checksum, checksumType, componentFlavor, version
ironic_python_agent.tests.unit.test_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.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_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.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: Device sdh was disqualified as virtual media. Type: disk, Transport: sata
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata ... ok
ironic_python_agent.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: Device sdh was disqualified as virtual media. Type: other, Transport: scsi
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi ... ok
 WARNING [root] Something went wrong when readlink for interface eth2. Error: fake
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error ... ok
ironic-python-agent: Device sdh appears to not qualify as virtual due to the device size. Size: 1610612736000
ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: usb
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large
ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large ... ok
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver ... ok
ironic_python_agent.tests.unit.test_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.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card ... ok
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error ... ok
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path ... ok
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected ... ok
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled ... ok
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled
ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled ... ok
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware ... ok
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error ... ok
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx ... ok
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support ... ok
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx ... ok
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id ... ok
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_clean_steps ... ok
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info ... ok
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface ... ok
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address ... ok
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface ... ok
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac
ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac ... ok
ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute
ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute ... ok
ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute
ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute ... ok
ironic_python_agent.tests.unit.test_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_disk_utils.GetPartitionTableTypeTestCase.test_gpt
ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ... ok
ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos
ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos ... ok
 WARNING [ironic_python_agent.disk_utils] Unable to get partition table type for device hello
ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown
ironic_python_agent.tests.unit.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_disk_label_gpt
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_disk_label_gpt ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_gpt_with_prep
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_gpt_with_prep ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_gpt_bios
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_gpt_bios ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_uefi
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_uefi ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_mbr_with_prep
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_mbr_with_prep ... ok
ironic_python_agent.tests.unit.test_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_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device ... ok
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_nvme_device
ironic_python_agent.tests.unit.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_nvme_device ... ok
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid ... ok
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid ... ok
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions ... ok
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions ... ok
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table ... ok
   ERROR [ironic_python_agent.disk_utils] Unable to stat device /dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9 after attempting to verify 2 times.
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts
ironic_python_agent.tests.unit.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts ... ok
   ERROR [ironic_python_agent.disk_utils] Unable to stat device /dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9 after attempting to verify 3 times.
ironic_python_agent.tests.unit.test_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_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_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_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_format_inspector.TestFormatInspectorInfra.test_capture_region
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_capture_region ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_get_inspector
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_get_inspector ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like ... ok
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: fail
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like_eats_error
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like_eats_error ... ok
ironic_python_agent.tests.unit.test_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_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like ... ok
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: fail
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like_eats_error
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like_eats_error ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_over_limit
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_over_limit ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_under_limit
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_under_limit ... ok
 WARNING [root] The root device was not detected in 27 seconds
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout ... ok
 WARNING [root] The root device was not detected in 45 seconds
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured ... ok
 WARNING [root] The root device was not detected in 27 seconds
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured ... ok
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks ... ok
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks ... ok
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured ... ok
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured
ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured ... ok
 WARNING [root] No hardware manager was able to handle interface foobar
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces ... ok
 WARNING [root] Cannot find detailed information about interface eth0
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_no_carrier ... ok
 WARNING [root] Cannot find detailed information about interface eth0
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_biosdevname
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_biosdevname ... ok
 WARNING [root] Cannot find detailed information about interface bond0
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_bond ... ok
 WARNING [root] Cannot find detailed information about interface eth0
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp ... ok
 WARNING [root] Cannot find detailed information about interface eth0
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_lldp_error ... ok
 WARNING [root] Cannot find detailed information about interface eth0
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_interfaces_with_vendor_info ... ok
 WARNING [root] Cannot find detailed information about interface eth0
 WARNING [root] Cannot find detailed information about interface eth0.100
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces ... ok
 WARNING [root] Cannot find detailed information about interface eth0
 WARNING [root] Cannot find detailed information about interface eth0.100
 WARNING [root] Cannot find detailed information about interface eth0.101
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp ... ok
 WARNING [root] Cannot find detailed information about interface eth0
 WARNING [root] Cannot find detailed information about interface eth1
 WARNING [root] Cannot find detailed information about interface eth0.100
 WARNING [root] Cannot find detailed information about interface eth0.101
 WARNING [root] Cannot find detailed information about interface eth1.102
 WARNING [root] Cannot find detailed information about interface eth1.103
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp_all
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_interfaces_using_lldp_all ... ok
 WARNING [root] Cannot find detailed information about interface eth0
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int
ironic_python_agent.tests.unit.test_hardware.TestListNetworkInterfaces.test_list_network_vlan_invalid_int ... ok
   ERROR [ironic_python_agent.inspector] inspector url error 400: <MagicMock name='post().content.decode()' id='4113550048'>, proceeding with lookup
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_error
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_error ... ok
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_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_partitioner.DiskPartitionerTestCase.test_add_partition
ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition ... ok
ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit
ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit ... ok
ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected
ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected ... ok
ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy
ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy ... ok
ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once
ironic_python_agent.tests.unit.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once ... ok
ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc
ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc ... ok
ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required
ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required ... ok
   ERROR [ironic_python_agent.disk_utils] Security: Unable to safety check image
   ERROR [ironic_python_agent.disk_utils] Security: Image failed safety check
ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_required
ironic_python_agent.tests.unit.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_required ... ok
ironic_python_agent.tests.unit.test_disk_utils.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_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check
ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_fail_safety_check ... ok
ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass
ironic_python_agent.tests.unit.test_disk_utils.ImageInspectionTest.test_image_inspection_pass ... ok
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
 WARNING [ironic_python_agent.disk_utils] Failed to verify partition tables on device /dev/fake: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image
ironic_python_agent.tests.unit.test_disk_utils.PopulateImageTestCase.test_populate_raw_image ... ok
ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts
ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ... ok
ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails
ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_fails ... ok
ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger
ironic_python_agent.tests.unit.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger ... ok
 WARNING [ironic_python_agent.dmi_inspector] Failed to parse Handle type in dmi output: list index out of range
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data ... ok
   ERROR [ironic_python_agent.utils] failed to run dmidecode: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure ... ok
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok ... ok
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios ... ok
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu ... ok
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory ... ok
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data ... ok
 WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Handle'
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle ... ok
 WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Number Of Devices'
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_number_of_devices
ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_number_of_devices ... ok
ironic_python_agent.tests.unit.test_encoding.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
/bin/sh: line 1: mkisofs: command not found
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_bad_iso_qcow2
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_bad_iso_qcow2 ... skipped 'mkisofs not installed'
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_from_file_reads_minimum
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_from_file_reads_minimum ... ok
/bin/sh: line 1: mkisofs: command not found
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_9660
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_9660 ... skipped 'mkisofs not installed'
/bin/sh: line 1: mkisofs: command not found
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_udf
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_iso_udf ... skipped 'mkisofs not installed'
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2 ... ok
 WARNING [ironic_python_agent.format_inspector] Found unknown feature bit in byte 7: 0b0/0b0
 WARNING [ironic_python_agent.format_inspector] Found unknown feature bit in byte 0: 0b0/0b1111
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_feature_flag_checks
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_feature_flag_checks ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_invalid
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_invalid ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_safety_checks
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qcow2_safety_checks ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qed_always_unsafe
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_qed_always_unsafe ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi_invalid
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vdi_invalid ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd_invalid
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhd_invalid ... ok
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries ... ok
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error ... ok
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed ... ok
 WARNING [ironic_python_agent.inspector] Connection error when accessing url1, trying the next URL. Error: 
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_several_urls ... ok
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_ok
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_ok ... ok
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure ... ok
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_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_generic_method_only
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_generic_method_only ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found ... ok
   ERROR [root] Unexpected error dispatching unexpected_fail to manager <ironic_python_agent.tests.unit.test_multi_hardware.FakeMainlineHardwareManager object at 0xf46a8e58>: A problem was encountered
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 3468, in dispatch_to_all_managers
    response = getattr(manager, method)(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper
    return fn(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail
    raise RuntimeError('A problem was encountered')
RuntimeError: A problem was encountered
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_fails
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_fails ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found ... ok
   ERROR [root] Unexpected error dispatching unexpected_fail to manager <ironic_python_agent.tests.unit.test_multi_hardware.FakeMainlineHardwareManager object at 0xf460f4b0>: A problem was encountered
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 3512, in dispatch_to_managers
    return getattr(manager, method)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper
    return fn(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail
    raise RuntimeError('A problem was encountered')
RuntimeError: A problem was encountered
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails
ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails ... ok
ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found
ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found ... ok
ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_exc
ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_exc ... ok
ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_false
ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_false ... ok
ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true
ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_disabled
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_disabled ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_flags_disabled ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails_disabled ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error_disabled ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails_disabled ... ok
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled
ironic_python_agent.tests.unit.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_disabled ... ok
ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled
ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist_disabled ... ok
ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled
ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_disabled ... ok
ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe
ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_safe ... ok
ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe
ironic_python_agent.tests.unit.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists_unsafe ... ok
ironic-python-agent: Excluding device sda1 from virtual mediaconsideration as it is a partition.
ironic-python-agent: Found possible vmedia candidate /dev/sda2, however the device failed vmedia validity checking.
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels ... ok
ironic-python-agent: Was unable to execute the lsblk command. Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error ... ok
ironic-python-agent: Did not identify any virtual media candidates devices.
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found ... ok
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device ... ok
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params ... ok
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device ... ok
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid ... ok
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev ... ok
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file ... ok
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail ... ok
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache ... ok
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline ... ok
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_vmedia
ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_vmedia ... ok
ironic-python-agent: line 1.
ironic-python-agent: line 2 message
   ERROR [ironic_python_agent.utils] foo
   ERROR [ironic_python_agent.utils] bar
   ERROR [ironic_python_agent.utils] baz
   ERROR [ironic_python_agent.utils] foo
ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger
ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger ... ok
ironic_python_agent.tests.unit.test_utils.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.TestRemoveKeys.test_remove_keys
ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx_invalid
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx_invalid ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk ... ok
5+0 records in
5+0 records out
5242880 bytes (5.2 MB, 5.0 MiB) copied, 0.0407745 s, 129 MB/s
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit ... ok
5+0 records in
5+0 records out
5242880 bytes (5.2 MB, 5.0 MiB) copied, 0.0400201 s, 131 MB/s
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit_stream_optimized
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit_stream_optimized ... ok
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_offset
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_offset ... ok
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Wrong descriptor location
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_offset_stream_optimized
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_offset_stream_optimized ... ok
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Signature KDMV not found: b'# Co'
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_invalid
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_invalid ... ok
   ERROR [ironic_python_agent.format_inspector] Format inspector failed, aborting: Signature KDMV not found: b'# Co'
 WARNING [ironic_python_agent.format_inspector] Unsupported VMDK format b'someunknownformat'
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_invalid_type
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_invalid_type ... ok
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_stream_optimized
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_stream_optimized ... ok
ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client
ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client ... ok
ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache
ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache ... ok
 WARNING [root] Device /dev/fake1 is inaccessible, skipping... Error: nope
ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev
ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test__collect_udev ... ok
ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test_collect_system_logs
ironic_python_agent.tests.unit.test_hardware.TestCollectSystemLogs.test_collect_system_logs ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_set_password_exception
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_set_password_exception ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_unlock_exception
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_unlock_exception ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_erase_exec_exception
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_erase_exec_exception ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point_no_pstore
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point_no_pstore ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_device_info
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_device_info ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member_false
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member_false ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device ... ok
 WARNING [root] Could not determine if /dev/sdfake is aread-only device. Error: 
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_error
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_error ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false ... ok
 WARNING [root] Could not determine if /dev/sdfake1 is aread-only device. Error: 
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_ok ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists_no_match
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists_no_match ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_steps_exist
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_steps_exist ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_invalid ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_uefi_nvram_defaults ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_decode_exception
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_decode_exception ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5 ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6 ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_empty_target_raid_config
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_empty_target_raid_config ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_failure_with_nvme
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_failure_with_nvme ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_force_gpt_with_disk_label
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_force_gpt_with_disk_label ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints ... ok
 WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path'
 WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping
 WARNING [root] Can't find field vendor for device sda in device class block
 WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping
 WARNING [root] Can't find field vendor for device sdb in device class block
 WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping
 WARNING [root] Can't find field vendor for device md0 in device class block
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_raid_config
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_raid_config ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_max_is_first_logical
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_max_is_first_logical ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_mismatching_hints
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_mismatching_hints ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_5
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_5 ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_6
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_6 ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_skip_list_existing_device_does_not_match
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_skip_list_existing_device_does_not_match ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_complete_skip_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_complete_skip_list ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_nvme
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_nvme ... ok
 WARNING [root] Failed to remove partitions on /dev/sda: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'No md superblock detected'
Stderr: None
 WARNING [root] Failed to remove partitions on /dev/sdb: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'No md superblock detected'
Stderr: None
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration ... ok
   ERROR [root] Unable to clean all softraid correctly. Remaining ['/dev/md0']
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_failure_blocks_remaining
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_failure_blocks_remaining ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_partition
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_partition ... ok
 WARNING [root] RAID device /dev/md1 will not be deleted
 WARNING [root] Software RAID device /dev/md1 is not going to be deleted as its volume name - small - is on the skip list
 WARNING [root] Software RAID device /dev/md1 was not deleted
 WARNING [root] Holder disk /dev/sda contains logical disk on the skip list. Deleting just partitions: ['1']
 WARNING [root] Holder disk /dev/sdb contains logical disk on the skip list. Deleting just partitions: ['1']
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_skip_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_skip_list ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_deploy_steps_exist
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_deploy_steps_exist ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_erase_disabled
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_erase_disabled ... ok
   ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: An unknown error occurred erasing block device /dev/sda
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed ... ok
 WARNING [root] Failed to invoke secure erase, falling back to shred: Error erasing block device: An unknown error occurred erasing block device /dev/sda
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued ... ok
   ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: Block device /dev/sda is frozen and cannot be erased
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_frozen
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_frozen ... ok
   ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: Block device /dev/sda already has a security password set
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled_unlock_attempt
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled_unlock_attempt ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_unlock_fallback_pass
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_unlock_fallback_pass ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success ... ok
 WARNING [root] Unable to execute `smartctl` utility: boom
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success_no_smartctl
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success_no_smartctl ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_notsupported_shred
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_notsupported_shred ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed ... ok
   ERROR [root] nvme-cli did not return any supported format modes for device: /dev/nvme0n1
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_format_unsupported
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_format_unsupported ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_userdata_success
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_userdata_success ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_0_pass_no_zeroize
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_0_pass_no_zeroize ... ok
   ERROR [root] Erasing block device /dev/sda failed with error 
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_oserror
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_oserror ... ok
   ERROR [root] Erasing block device /dev/sda failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_uses_internal_info
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_uses_internal_info ... ok
 WARNING [root] Refusing to permit ATA Secure Erase as direct ATA commands via the `smartctl` utility with device /dev/sda do not succeed.
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata ... ok
   ERROR [root] Failed to erase the metadata on device "/dev/sdb". Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'Booo00000ooommmmm'
Stderr: None
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok ... ok
 WARNING [root] Executable 'biosdevname' not found
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid ... ok
 WARNING [root] Invalid IP address meow: 'meow' does not appear to be an IPv4 or IPv6 address
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_no_ipmi_device ... ok
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error ... ok
 WARNING [root] Cannot get BMC address: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid ... ok
 WARNING [root] Invalid ipmitool output meow
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_no_ipmi_device ... ok
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error ... ok
 WARNING [root] Cannot get BMC MAC address: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_no_ipmi_device ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both ... ok
 WARNING [root] Cannot get BMC v6 address: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_and_flag_fallback ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_max_mhz_flag_fallback ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_multi ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw ... ok
 WARNING [root] Could not get real physical RAM from lshw: 
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size ... ok
   ERROR [root] Cannot fetch total memory size using psutil version 5
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 1648, in get_memory
    total = int(psutil.virtual_memory().total)
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in virtual_memory
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
AttributeError
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 ... ok
   ERROR [root] Cannot fetch total memory size using psutil version 5
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/hardware.py", line 1648, in get_memory
    total = int(psutil.virtual_memory().total)
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in virtual_memory
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
AttributeError
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_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_lib.utils] No device found that matches the root device hints {'model': 'fastable sd131 7', 'wwn': 'fake-wwn', 'serial': 'fake-serial', 'vendor': 'fake-vendor', 'size': 10}
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str ... ok
 WARNING [root] Using hint {'vendor': 'fake-vendor'} skipping devices: /dev/sdb
 WARNING [ironic_lib.utils] No device found that matches the root device hints {'wwn': 'fake-wwn'}
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list ... ok
 WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info ... ok
 WARNING [root] Could not retrieve vendor info from lshw: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_usb_devices ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_ipmi_device_exists ... ok
 WARNING [root] Device /dev/sda is inaccessible, skipping... Error: 
 WARNING [root] Device /dev/sdb is not supported by pyudev, skipping... Error: No block device with number 1234
 WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: 
 WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: 
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device ... ok
 WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices.
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_all_serial ... ok
 WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: 
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_only_udev ... ok
 WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices.
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list ... ok
 WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj
 WARNING [root] Using hint {'name': '/dev/hdaa'} skipping devices: /dev/hdaa
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list ... ok
 WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase ... ok
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist
ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_service_steps_exist ... ok
 WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path'
 WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda'
 WARNING [root] 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_hardware.TestModuleFunctions.test__check_for_iscsi
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi ... ok
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi ... ok
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules ... ok
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing ... ok
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success ... ok
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success ... ok
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md1. Skipping
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid ... ok
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type
ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type ... ok
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_inspector.TestCollectDefault.test_cache_hardware_info
ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info ... ok
 WARNING [ironic_python_agent.inspector] no suitable root device detected
ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_no_root_disk
ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_no_root_disk ... ok
ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok
ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok ... ok
ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test
ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test ... ok
 WARNING [ironic_python_agent.inspector] failed to get system journal
ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail
ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail ... ok
 WARNING [ironic_python_agent.inspector] Failed to gather vendor id, product id or pci class from PCI device bar: 
 WARNING [ironic_python_agent.inspector] Wrong format of vendor id, product id or pci class in PCI device baz: 
ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info
ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info ... ok
ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success
ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success ... ok
 WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device foo: 
 WARNING [ironic_python_agent.inspector] Failed to gather numa_node id from PCI device bar: 
ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror
ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success_numa_ioerror ... ok
   ERROR [ironic_python_agent.utils] Failed to get list of PCI devices: 
ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path
ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path ... ok
   ERROR [ironic_python_agent.utils] collector <Mock name='mock.name' id='4110680304'> failed: boom
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed ... ok
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option ... ok
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_disabled ... ok
   ERROR [ironic_python_agent.utils] boom
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed ... ok
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error ... ok
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns ... ok
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok ... ok
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok_with_ironic_url
ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok_with_ironic_url ... ok
ironic_python_agent.tests.unit.test_inspector.TestMisc.test_default_collector_loadable
ironic_python_agent.tests.unit.test_inspector.TestMisc.test_default_collector_loadable ... ok
ironic_python_agent.tests.unit.test_inspector.TestMisc.test_raise_on_wrong_collector
ironic_python_agent.tests.unit.test_inspector.TestMisc.test_raise_on_wrong_collector ... ok
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info ... ok
 WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth0', <Mock id='4100301088'>), ('eth1', <Mock id='4100304256'>)]
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty ... ok
 WARNING [ironic_python_agent.netutils] Trailing byte received in an LLDP package: b'5'
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_malformed
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_malformed ... ok
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_multiple
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_multiple ... ok
 WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth1', <Mock id='4100504840'>)]
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface ... ok
   ERROR [ironic_python_agent.netutils] Socket for network interface eth0 said that it was ready to read we were unable to read from the socket while trying to get LLDP packet. Skipping this network interface.
Traceback (most recent call last):
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/netutils.py", line 197, in _get_lldp_info
    lldp_info[interface[0]] = _receive_lldp_packets(s)
                              ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/ironic-python-agent-9.14.0/ironic_python_agent/netutils.py", line 160, in _receive_lldp_packets
    pkt = sock.recv(1600)
          ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1139, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1143, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/unittest/mock.py", line 1198, in _execute_mock_call
    raise effect
OSError: BOOM
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_socket_recv_error
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_socket_recv_error ... ok
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets ... ok
   ERROR [ironic_python_agent.netutils] Failed to open all RawPromiscuousSockets, attempting to close any opened sockets.
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_bind_fail
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_bind_fail ... ok
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception ... ok
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6 ... ok
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4
ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4 ... ok
ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_different_sizes
ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_different_sizes ... skipped "parted utility was not found: [Errno 2] No such file or directory: 'parted'"
ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_whole_disk
ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_whole_disk ... skipped "parted utility was not found: [Errno 2] No such file or directory: 'parted'"
ironic_python_agent.tests.unit.test_raid_utils.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_utils.TestUtils.test_boot_mode_fallback_bios
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_bios ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_invalid_cap
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_invalid_cap ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_override_with_instance_info
ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_override_with_instance_info ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald
ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile
ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald
ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald_with_logfile
ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald_with_logfile ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor
ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict
ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string
ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string ... ok
 WARNING [ironic_python_agent.utils] Ignoring malformed capability 'test:world:2'. Format should be 'key:val'.
 WARNING [ironic_python_agent.utils] Ignoring malformed capability 'badformat'. Format should be 'key:val'.
ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_old_format_caps
ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_old_format_caps ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options
ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small
ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort
ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort
ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode
ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present
ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false
ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps
ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_disk_label
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_disk_label ... ok
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label
ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label ... ok
POST: /v1/commands {'name': 'do_things', 'params': []}
GOT:<WrapperTestResponse streamed [400 BAD REQUEST]>
POST: /v1/commands {'name': 'do_things', 'params': {'key': 'value'}}
GOT:<WrapperTestResponse streamed [200 OK]>
POST: /v1/commands?wait=false {'name': 'do_things', 'params': {'key': 'value'}}
GOT:<WrapperTestResponse streamed [200 OK]>
POST: /v1/commands?wait=true {'name': 'do_things', 'params': {'key': 'value'}}
GOT:<WrapperTestResponse streamed [200 OK]>
POST: /v1/commands {}
GOT:<WrapperTestResponse streamed [400 BAD REQUEST]>
POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}}
GOT:<WrapperTestResponse streamed [200 OK]>
POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}}
GOT:<WrapperTestResponse streamed [401 UNAUTHORIZED]>
GET: /v1/status None
GOT:<WrapperTestResponse streamed [200 OK]>
GET: /v1/commands/abc123 None
GOT:<WrapperTestResponse streamed [200 OK]>
GET: /v1/commands None
GOT:<WrapperTestResponse streamed [200 OK]>
GET: /v1/foo None
GOT:<WrapperTestResponse streamed [404 NOT FOUND]>
GET: / None
GOT:<WrapperTestResponse streamed [200 OK]>
GET: /v1 None
GOT:<WrapperTestResponse streamed [200 OK]>

----------------------------------------------------------------------
Ran 1023 tests in 114.823s

OK (skipped=5)
+ stestr slowest
Test id                                                                                                                            Runtime (s)
---------------------------------------------------------------------------------------------------------------------------------  -----------
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit_stream_optimized      35.286
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit                       33.488
ironic_python_agent.tests.unit.test_format_inspector.TestFormatInspectors.test_vhdx                                                13.318
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries                                              4.024
ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout   3.119
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st                                        3.033
ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout                                         2.041
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retry_on_50X_and_succeed                             2.019
ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries_on_50X_error                                 2.018
ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run                                                              1.261
+ rm -rf .stestr
mkdir -p /build/reproducible-path/ironic-python-agent-9.14.0/debian/ironic-python-agent/etc/ironic-python-agent
PYTHONPATH=/build/reproducible-path/ironic-python-agent-9.14.0/debian/tmp/usr/lib/python3/dist-packages oslo-config-generator \
	--output-file /build/reproducible-path/ironic-python-agent-9.14.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-9.14.0'
   dh_installdocs -O--buildsystem=pybuild
   debian/rules override_dh_installchangelogs
make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-9.14.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-9.14.0/debian/CHANGELOG ] ; then \
	dh_installchangelogs /build/reproducible-path/ironic-python-agent-9.14.0/debian/CHANGELOG ; \
else \
	dh_installchangelogs ; \
fi
make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-9.14.0'
   debian/rules override_dh_python3
make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-9.14.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:113: replacing shebang in debian/ironic-python-agent/usr/bin/ironic-python-agent
I: dh_python3 tools:113: replacing shebang in debian/ironic-python-agent/usr/bin/ironic-collect-introspection-data
make[1]: Leaving directory '/build/reproducible-path/ironic-python-agent-9.14.0'
   debian/rules override_dh_installinit
make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-9.14.0'
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-9.14.0'
   debian/rules override_dh_installsystemd
make[1]: Entering directory '/build/reproducible-path/ironic-python-agent-9.14.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`
++ sed s/.init.in/.service.in/
++ echo debian/ironic-python-agent.init.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-9.14.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-9.14.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-9.14.0/debian/ubuntu_control_vars ; \
else \
	dh_gencontrol -- -T/build/reproducible-path/ironic-python-agent-9.14.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-9.14.0'
   dh_md5sums -O--buildsystem=pybuild
   dh_builddeb -O--buildsystem=pybuild
dpkg-deb: building package 'ironic-python-agent' in '../ironic-python-agent_9.14.0-5_all.deb'.
 dpkg-genbuildinfo --build=binary -O../ironic-python-agent_9.14.0-5_armhf.buildinfo
 dpkg-genchanges --build=binary -O../ironic-python-agent_9.14.0-5_armhf.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/8816/tmp/hooks/B01_cleanup starting
I: user script /srv/workspace/pbuilder/8816/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/8816 and its subdirectories
I: Current time: Sun Jan  5 12:01:59 +14 2025
I: pbuilder-time-stamp: 1736028119