Diff of the two buildlogs: -- --- b1/build.log 2025-03-11 11:57:12.367882329 +0000 +++ b2/build.log 2025-03-11 12:00:36.494729874 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Mon Mar 10 23:55:42 -12 2025 -I: pbuilder-time-stamp: 1741694142 +I: Current time: Tue Apr 14 08:20:12 +14 2026 +I: pbuilder-time-stamp: 1776104412 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/experimental-reproducible-base.tgz] I: copying local configuration @@ -22,52 +22,84 @@ dpkg-source: info: unpacking python-ironic-lib_7.0.0-1.debian.tar.xz I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/2994498/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/4022079/tmp/hooks/D01_modify_environment starting +debug: Running on codethink03-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Apr 13 18:20 /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/4022079/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/4022079/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='experimental' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=experimental + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='9ebc3ef6146142adb41bbf24fe701956' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='2994498' - PS1='# ' - PS2='> ' + INVOCATION_ID=5981de47783c4ad28465f12c490e02c1 + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=4022079 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.bh14fq1L/pbuilderrc_0tsV --distribution experimental --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/experimental-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.bh14fq1L/b1 --logfile b1/build.log python-ironic-lib_7.0.0-1.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.bh14fq1L/pbuilderrc_IGDm --distribution experimental --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/experimental-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.bh14fq1L/b2 --logfile b2/build.log python-ironic-lib_7.0.0-1.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink04-arm64 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Mar 4 11:20 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2994498/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Mar 4 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/4022079/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -373,7 +405,7 @@ Get: 230 http://deb.debian.org/debian unstable/main arm64 python3-oslotest all 1:5.0.0-4 [17.2 kB] Get: 231 http://deb.debian.org/debian unstable/main arm64 python3-pygments all 2.18.0+dfsg-2 [836 kB] Get: 232 http://deb.debian.org/debian unstable/main arm64 python3-zeroconf all 0.146.1-1 [81.0 kB] -Fetched 62.6 MB in 0s (191 MB/s) +Fetched 62.6 MB in 1s (83.7 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:arm64. (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 ... 19897 files and directories currently installed.) @@ -1117,8 +1149,8 @@ Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' -Local time is now: Tue Mar 11 11:56:12 UTC 2025. -Universal Time is now: Tue Mar 11 11:56:12 UTC 2025. +Local time is now: Mon Apr 13 18:21:25 UTC 2026. +Universal Time is now: Mon Apr 13 18:21:25 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libpgm-5.3-0t64:arm64 (5.3.128~dfsg-2.1+b1) ... @@ -1346,7 +1378,11 @@ fakeroot is already the newest version (1.37-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/python-ironic-lib-7.0.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../python-ironic-lib_7.0.0-1_source.changes +I: user script /srv/workspace/pbuilder/4022079/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for experimental +I: user script /srv/workspace/pbuilder/4022079/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/python-ironic-lib-7.0.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 > ../python-ironic-lib_7.0.0-1_source.changes dpkg-buildpackage: info: source package python-ironic-lib dpkg-buildpackage: info: source version 7.0.0-1 dpkg-buildpackage: info: source distribution experimental @@ -1438,21 +1474,26 @@ py3versions: no X-Python3-Version in control file, using supported versions pkgos-dh_auto_install --no-py2 --in-tmp + PKGOS_IN_TMP=no -+ echo WARNING: --no-py2 is deprecated and always on. ++ for i in $@ ++ case "${1}" in ++ echo 'WARNING: --no-py2 is deprecated and always on.' WARNING: --no-py2 is deprecated and always on. + shift ++ for i in $@ ++ case "${1}" in + PKGOS_IN_TMP=yes + shift -+ dpkg-parsechangelog -SSource +++ dpkg-parsechangelog -SSource + SRC_PKG_NAME=python-ironic-lib -+ echo python-ironic-lib -+ sed s/python-// +++ echo python-ironic-lib +++ sed s/python-// + PY_MODULE_NAME=ironic-lib -+ py3versions -vr +++ py3versions -vr + PYTHON3S=3.13 -+ [ yes = yes ] ++ '[' yes = yes ']' + TARGET_DIR=tmp -+ pwd ++ for pyvers in ${PYTHON3S} +++ pwd + python3.13 setup.py install --install-layout=deb --root /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! @@ -1497,6 +1538,10 @@ [pbr] AUTHORS complete (0.0s) running build running build_py +creating build/lib/ironic_lib/common +copying ironic_lib/common/i18n.py -> build/lib/ironic_lib/common +copying ironic_lib/common/config.py -> build/lib/ironic_lib/common +copying ironic_lib/common/__init__.py -> build/lib/ironic_lib/common creating build/lib/ironic_lib/tests copying ironic_lib/tests/test_utils.py -> build/lib/ironic_lib/tests copying ironic_lib/tests/test_metrics_utils.py -> build/lib/ironic_lib/tests @@ -1511,14 +1556,6 @@ copying ironic_lib/tests/test_base.py -> build/lib/ironic_lib/tests copying ironic_lib/tests/base.py -> build/lib/ironic_lib/tests copying ironic_lib/tests/__init__.py -> build/lib/ironic_lib/tests -creating build/lib/ironic_lib/json_rpc -copying ironic_lib/json_rpc/server.py -> build/lib/ironic_lib/json_rpc -copying ironic_lib/json_rpc/client.py -> build/lib/ironic_lib/json_rpc -copying ironic_lib/json_rpc/__init__.py -> build/lib/ironic_lib/json_rpc -creating build/lib/ironic_lib/common -copying ironic_lib/common/i18n.py -> build/lib/ironic_lib/common -copying ironic_lib/common/config.py -> build/lib/ironic_lib/common -copying ironic_lib/common/__init__.py -> build/lib/ironic_lib/common copying ironic_lib/wsgi.py -> build/lib/ironic_lib copying ironic_lib/utils.py -> build/lib/ironic_lib copying ironic_lib/metrics_utils.py -> build/lib/ironic_lib @@ -1530,6 +1567,10 @@ copying ironic_lib/exception.py -> build/lib/ironic_lib copying ironic_lib/auth_basic.py -> build/lib/ironic_lib copying ironic_lib/__init__.py -> build/lib/ironic_lib +creating build/lib/ironic_lib/json_rpc +copying ironic_lib/json_rpc/server.py -> build/lib/ironic_lib/json_rpc +copying ironic_lib/json_rpc/client.py -> build/lib/ironic_lib/json_rpc +copying ironic_lib/json_rpc/__init__.py -> build/lib/ironic_lib/json_rpc running egg_info creating ironic_lib.egg-info writing ironic_lib.egg-info/PKG-INFO @@ -1555,6 +1596,10 @@ running install_lib creating /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib +creating /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc +copying build/lib/ironic_lib/json_rpc/__init__.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc +copying build/lib/ironic_lib/json_rpc/client.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc +copying build/lib/ironic_lib/json_rpc/server.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc copying build/lib/ironic_lib/__init__.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib copying build/lib/ironic_lib/auth_basic.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib copying build/lib/ironic_lib/exception.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib @@ -1566,14 +1611,6 @@ copying build/lib/ironic_lib/metrics_utils.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib copying build/lib/ironic_lib/utils.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib copying build/lib/ironic_lib/wsgi.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib -creating /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common -copying build/lib/ironic_lib/common/__init__.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common -copying build/lib/ironic_lib/common/config.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common -copying build/lib/ironic_lib/common/i18n.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common -creating /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc -copying build/lib/ironic_lib/json_rpc/__init__.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc -copying build/lib/ironic_lib/json_rpc/client.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc -copying build/lib/ironic_lib/json_rpc/server.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc creating /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests copying build/lib/ironic_lib/tests/__init__.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests copying build/lib/ironic_lib/tests/base.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests @@ -1588,6 +1625,13 @@ copying build/lib/ironic_lib/tests/test_metrics_statsd.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests copying build/lib/ironic_lib/tests/test_metrics_utils.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests copying build/lib/ironic_lib/tests/test_utils.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests +creating /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common +copying build/lib/ironic_lib/common/__init__.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common +copying build/lib/ironic_lib/common/config.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common +copying build/lib/ironic_lib/common/i18n.py -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common +byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc/client.py to client.cpython-313.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc/server.py to server.cpython-313.pyc byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/auth_basic.py to auth_basic.cpython-313.pyc byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/exception.py to exception.cpython-313.pyc @@ -1599,12 +1643,6 @@ byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/metrics_utils.py to metrics_utils.cpython-313.pyc byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/utils.py to utils.cpython-313.pyc byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/wsgi.py to wsgi.cpython-313.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common/config.py to config.cpython-313.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common/i18n.py to i18n.cpython-313.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc/client.py to client.cpython-313.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc/server.py to server.cpython-313.pyc byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_base.py to test_base.cpython-313.pyc @@ -1618,6 +1656,9 @@ byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_metrics_statsd.py to test_metrics_statsd.cpython-313.pyc byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_metrics_utils.py to test_metrics_utils.cpython-313.pyc byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_utils.py to test_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common/config.py to config.cpython-313.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common/i18n.py to i18n.cpython-313.pyc running install_data creating /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/etc/ironic/rootwrap.d copying etc/ironic/rootwrap.d/ironic-lib.filters -> /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/etc/ironic/rootwrap.d @@ -1625,10 +1666,10 @@ Copying ironic_lib.egg-info to /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib-7.0.0.egg-info Skipping SOURCES.txt running install_scripts -+ pwd -+ rm -rf /build/reproducible-path/python-ironic-lib-7.0.0/debian/python*/usr/lib/python*/dist-packages/*.pth -+ pwd -+ rm -rf /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python*/dist-packages/*.pth +++ pwd ++ rm -rf '/build/reproducible-path/python-ironic-lib-7.0.0/debian/python*/usr/lib/python*/dist-packages/*.pth' +++ pwd ++ rm -rf '/build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python*/dist-packages/*.pth' pkgos-dh_auto_test --no-py2 'ironic_lib\.tests\.(?!(.*test_json_rpc\.TestService\.test_authenticated.*))' + PKGOS_TEST_PARALLEL=yes + PKGOS_TEST_SERIAL=no @@ -1636,122 +1677,172 @@ + PYTHON3S=disabled + TEST_PARALLEL_OPT=--parallel + TEST_SERIAL_OPT= -+ echo WARNING: --no-py2 is deprecated, and always on. ++ for i in $@ ++ case "${1}" in ++ echo 'WARNING: --no-py2 is deprecated, and always on.' WARNING: --no-py2 is deprecated, and always on. + shift -+ py3versions -vr ++ for i in $@ ++ case "${1}" in +++ py3versions -vr + PYTHON3S=3.13 -+ [ yes = no ] -+ [ no = yes ] -+ [ 3.13 = disabled ] -+ + echo 3.13 -cut -d. -f1 ++ '[' yes = no ']' ++ '[' no = yes ']' ++ for pyvers in ${PYTHON3S} ++ '[' 3.13 = disabled ']' +++ echo 3.13 +++ cut -d. -f1 + PYMAJOR=3 -+ echo ===> Testing with python (python3) ++ echo '===> Testing with python (python3)' ===> Testing with python (python3) -+ pwd -+ [ -d /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -z ] -+ pwd -+ echo Implicitly adding PYTHONPATH=/build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages +++ pwd ++ '[' -d /build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -z '' ']' +++ pwd ++ echo 'Implicitly adding PYTHONPATH=/build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages' Implicitly adding PYTHONPATH=/build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages -+ pwd +++ pwd + export PYTHONPATH=/build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages -+ [ -e .stestr.conf ] -+ [ -x /usr/bin/python3-stestr ] ++ PYTHONPATH=/build/reproducible-path/python-ironic-lib-7.0.0/debian/tmp/usr/lib/python3/dist-packages ++ '[' -e .stestr.conf ']' ++ '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr -+ + subunit2pyunit -PYTHON=python3.13 stestr run --parallel --subunit ironic_lib\.tests\.(?!(.*test_json_rpc\.TestService\.test_authenticated.*)) - ERROR [ironic_lib.json_rpc.client] Unexpected error from RPC: {'code': 500, 'message': 'AttributeError', 'data': {'class': 'AttributeError'}} -ironic_lib.tests.test_json_rpc.TestClient.test_call_failure -ironic_lib.tests.test_json_rpc.TestClient.test_call_failure ... ok -ironic_lib.tests.test_json_rpc.TestClient.test_call_failure_with_foreign_class -ironic_lib.tests.test_json_rpc.TestClient.test_call_failure_with_foreign_class ... ok -ironic_lib.tests.test_json_rpc.TestClient.test_call_failure_with_version_and_cap -ironic_lib.tests.test_json_rpc.TestClient.test_call_failure_with_version_and_cap ... ok -ironic_lib.tests.test_metrics_collector.TestDictCollectionMetricLogger.test_counter -ironic_lib.tests.test_metrics_collector.TestDictCollectionMetricLogger.test_counter ... ok -ironic_lib.tests.test_metrics_collector.TestDictCollectionMetricLogger.test_gauge -ironic_lib.tests.test_metrics_collector.TestDictCollectionMetricLogger.test_gauge ... ok -ironic_lib.tests.test_json_rpc.TestClient.test_call_ipv4_success -ironic_lib.tests.test_json_rpc.TestClient.test_call_ipv4_success ... ok -ironic_lib.tests.test_json_rpc.TestClient.test_call_ipv6_success -ironic_lib.tests.test_json_rpc.TestClient.test_call_ipv6_success ... ok - ERROR [ironic_lib.json_rpc.client] Unexpected error from RPC: {'code': 500, 'message': 'AttributeError'} -ironic_lib.tests.test_metrics_collector.TestDictCollectionMetricLogger.test_send -ironic_lib.tests.test_metrics_collector.TestDictCollectionMetricLogger.test_send ... ok -ironic_lib.tests.test_metrics_collector.TestDictCollectionMetricLogger.test_timer -ironic_lib.tests.test_metrics_collector.TestDictCollectionMetricLogger.test_timer ... ok -ironic_lib.tests.test_utils.ParseDeviceTagsTestCase.test_empty -ironic_lib.tests.test_utils.ParseDeviceTagsTestCase.test_empty ... ok -ironic_lib.tests.test_utils.ParseDeviceTagsTestCase.test_parse -ironic_lib.tests.test_utils.ParseDeviceTagsTestCase.test_parse ... ok -ironic_lib.tests.test_json_rpc.TestClient.test_call_ipv6_success_rfc2732 -ironic_lib.tests.test_json_rpc.TestClient.test_call_ipv6_success_rfc2732 ... ok -ironic_lib.tests.test_json_rpc.TestClient.test_call_success -ironic_lib.tests.test_json_rpc.TestClient.test_call_success ... ok -ironic_lib.tests.test_json_rpc.TestClient.test_call_success_with_version -ironic_lib.tests.test_json_rpc.TestClient.test_call_success_with_version ... ok - WARNING [ironic_lib.utils] Failed to unlink /fake/path, error: 2 - ERROR [ironic_lib.keystone] Failed to load auth plugin from group test_group -ironic_lib.tests.test_json_rpc.TestClient.test_call_success_with_version_and_cap -ironic_lib.tests.test_json_rpc.TestClient.test_call_success_with_version_and_cap ... ok -ironic_lib.tests.test_json_rpc.TestClient.test_call_unexpected_failure -ironic_lib.tests.test_json_rpc.TestClient.test_call_unexpected_failure ... ok -ironic_lib.tests.test_json_rpc.TestClient.test_call_with_ssl -ironic_lib.tests.test_json_rpc.TestClient.test_call_with_ssl ... ok -ironic_lib.tests.test_json_rpc.TestClient.test_can_send_version -ironic_lib.tests.test_json_rpc.TestClient.test_can_send_version ... ok -ironic_lib.tests.test_json_rpc.TestClient.test_cast_failure -ironic_lib.tests.test_json_rpc.TestClient.test_cast_failure ... ok ++ subunit2pyunit ++ PYTHON=python3.13 ++ stestr run --parallel --subunit 'ironic_lib\.tests\.(?!(.*test_json_rpc\.TestService\.test_authenticated.*))' +ironic_lib.tests.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute +ironic_lib.tests.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute ... ok +ironic_lib.tests.test_metrics.TestMetricReflection.test_counter_reflection +ironic_lib.tests.test_metrics.TestMetricReflection.test_counter_reflection ... ok +ironic_lib.tests.test_metrics.TestMetricReflection.test_gauge_reflection +ironic_lib.tests.test_metrics.TestMetricReflection.test_gauge_reflection ... ok +ironic_lib.tests.test_metrics.TestMetricReflection.test_timer_reflection +ironic_lib.tests.test_metrics.TestMetricReflection.test_timer_reflection ... ok +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_default_backend +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_default_backend ... ok +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_default_prefix +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_default_prefix ... ok +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_nonexisting_backend +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_nonexisting_backend ... ok +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_numeric_list_prefix +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_numeric_list_prefix ... ok +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_numeric_prefix +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_numeric_prefix ... ok +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_prepend_global_prefix_host_backend +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_prepend_global_prefix_host_backend ... ok +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_prepend_host_backend +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_prepend_host_backend ... ok +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_prepend_host_reverse_backend +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_prepend_host_reverse_backend ... ok +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_prepend_other_delim +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_prepend_other_delim ... ok +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_statsd_backend +ironic_lib.tests.test_metrics_utils.TestGetLogger.test_statsd_backend ... ok +ironic_lib.tests.test_base.BlockExecuteTestCase.test_can_mock_execute +ironic_lib.tests.test_base.BlockExecuteTestCase.test_can_mock_execute ... ok +ironic_lib.tests.test_base.BlockExecuteTestCase.test_exception_raised_for_execute +ironic_lib.tests.test_base.BlockExecuteTestCase.test_exception_raised_for_execute ... ok +ironic_lib.tests.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked +ironic_lib.tests.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked ... ok +ironic_lib.tests.test_exception.TestIronicException.test___init___invalid_kwarg +ironic_lib.tests.test_exception.TestIronicException.test___init___invalid_kwarg ... ok +ironic_lib.tests.test_exception.TestIronicException.test___init___invalid_kwarg_reraise +ironic_lib.tests.test_exception.TestIronicException.test___init___invalid_kwarg_reraise ... ok +ironic_lib.tests.test_exception.TestIronicException.test___init___json_serializable +ironic_lib.tests.test_exception.TestIronicException.test___init___json_serializable ... ok +ironic_lib.tests.test_exception.TestIronicException.test___init___string_serializable +ironic_lib.tests.test_exception.TestIronicException.test___init___string_serializable ... ok +ironic_lib.tests.test_json_rpc.TestService.test_expected_failure +ironic_lib.tests.test_json_rpc.TestService.test_expected_failure ... ok +ironic_lib.tests.test_json_rpc.TestService.test_expected_failure_oslo +ironic_lib.tests.test_json_rpc.TestService.test_expected_failure_oslo ... ok +ironic_lib.tests.test_json_rpc.TestService.test_http_basic +ironic_lib.tests.test_json_rpc.TestService.test_http_basic ... ok +ironic_lib.tests.test_json_rpc.TestService.test_http_basic_not_authenticated +ironic_lib.tests.test_json_rpc.TestService.test_http_basic_not_authenticated ... ok ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_adapter_from_config ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_adapter_from_config ... ok -ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_auth -ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_auth ... ok -ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_auth_fail -ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_auth_fail ... ok -ironic_lib.tests.test_json_rpc.TestClient.test_cast_success -ironic_lib.tests.test_json_rpc.TestClient.test_cast_success ... ok -ironic_lib.tests.test_json_rpc.TestClient.test_cast_success_with_version -ironic_lib.tests.test_json_rpc.TestClient.test_cast_success_with_version ... ok -ironic_lib.tests.test_json_rpc.TestClient.test_mask_secrets -ironic_lib.tests.test_json_rpc.TestClient.test_mask_secrets ... ok +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_binary_data +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_binary_data ... ok + WARNING [ironic_lib.utils] Failed to unlink /fake/path, error: 2 ironic_lib.tests.test_utils.BareMetalUtilsTestCase.test_unlink ironic_lib.tests.test_utils.BareMetalUtilsTestCase.test_unlink ... ok + ERROR [ironic_lib.json_rpc.server] JSON RPC request {'method': 'no_result', 'id': 'abcd', 'params': {'context': {'user_name': 'admin'}}} is invalid + ERROR [ironic_lib.json_rpc.server] JSON RPC request {'jsonrpc': '2.0', 'id': 'abcd', 'params': {'context': {'user_name': 'admin'}}} is invalid +ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_auth +ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_auth ... ok + ERROR [ironic_lib.json_rpc.server] JSON RPC request {'method': 'no_result', 'params': {'context': {'user_name': 'admin'}}} is invalid + ERROR [ironic_lib.json_rpc.server] JSON RPC request {'jsonrpc': '2.0', 'params': {'context': {'user_name': 'admin'}}} is invalid + ERROR [ironic_lib.json_rpc.server] JSON RPC request 42 is not an object (batched requests are not supported) + ERROR [ironic_lib.json_rpc.server] JSON RPC request [] is not an object (batched requests are not supported) + ERROR [ironic_lib.json_rpc.server] JSON RPC request [{'jsonrpc': '2.0', 'method': 'no_result', 'params': {'context': {'user_name': 'admin'}}}] is not an object (batched requests are not supported) + ERROR [ironic_lib.keystone] Failed to load auth plugin from group test_group +ironic_lib.tests.test_json_rpc.TestService.test_invalid_requests +ironic_lib.tests.test_json_rpc.TestService.test_invalid_requests ... ok ironic_lib.tests.test_utils.BareMetalUtilsTestCase.test_unlink_ENOENT ironic_lib.tests.test_utils.BareMetalUtilsTestCase.test_unlink_ENOENT ... ok -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_find_devices_all -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_find_devices_all ... ok -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_find_devices_name -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_find_devices_name ... ok -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_find_devices_none -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_find_devices_none ... ok -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute ... ok -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints ... ok - WARNING [ironic_lib.utils] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. - WARNING [ironic_lib.utils] No device found that matches the root device hints {'size': '>=50', 'model': 's==foo'} -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 ... ok -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 ... ok +ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_auth_fail +ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_auth_fail ... ok +ironic_lib.tests.test_json_rpc.TestService.test_malformed_context +ironic_lib.tests.test_json_rpc.TestService.test_malformed_context ... ok +ironic_lib.tests.test_json_rpc.TestService.test_mask_secrets +ironic_lib.tests.test_json_rpc.TestService.test_mask_secrets ... ok +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_command_not_found +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_command_not_found ... ok +ironic_lib.tests.test_json_rpc.TestService.test_method_not_found +ironic_lib.tests.test_json_rpc.TestService.test_method_not_found ... ok +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok + WARNING [ironic_lib.mdns] None of addresses ['::2', '::3'] seem routable, using ::2 +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_fallback +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_fallback ... ok +ironic_lib.tests.test_json_rpc.TestService.test_method_not_post +ironic_lib.tests.test_json_rpc.TestService.test_method_not_post ... ok ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_service_auth ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_service_auth ... ok - WARNING [ironic_lib.utils] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_session ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_session ... ok +ironic_lib.tests.test_utils.IsHttpUrlTestCase.test_is_http_url +ironic_lib.tests.test_utils.IsHttpUrlTestCase.test_is_http_url ... ok +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default ... ok +ironic_lib.tests.test_json_rpc.TestService.test_missing_argument +ironic_lib.tests.test_json_rpc.TestService.test_missing_argument ... ok +ironic_lib.tests.test_utils.MountedTestCase.test_failed_to_mount +ironic_lib.tests.test_utils.MountedTestCase.test_failed_to_mount ... ok + WARNING [ironic_lib.utils] Unable to unmount temporary location /mnt/fake: Unexpected error while running command. +Command: None +Exit code: - +Stdout: None +Stderr: None +ironic_lib.tests.test_utils.MountedTestCase.test_failed_to_unmount +ironic_lib.tests.test_utils.MountedTestCase.test_failed_to_unmount ... ok +ironic_lib.tests.test_json_rpc.TestService.test_no_context +ironic_lib.tests.test_json_rpc.TestService.test_no_context ... ok +ironic_lib.tests.test_utils.MountedTestCase.test_temporary +ironic_lib.tests.test_utils.MountedTestCase.test_temporary ... ok +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false ... ok +ironic_lib.tests.test_json_rpc.TestService.test_no_deny_methods +ironic_lib.tests.test_json_rpc.TestService.test_no_deny_methods ... ok +ironic_lib.tests.test_utils.MountedTestCase.test_with_dest +ironic_lib.tests.test_utils.MountedTestCase.test_with_dest ... ok +ironic_lib.tests.test_utils.MountedTestCase.test_with_opts +ironic_lib.tests.test_utils.MountedTestCase.test_with_opts ... ok +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_log_stdout_true +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_log_stdout_true ... ok +ironic_lib.tests.test_utils.MountedTestCase.test_with_type +ironic_lib.tests.test_utils.MountedTestCase.test_with_type ... ok + ERROR [ironic_lib.json_rpc.server] Cannot parse JSON RPC request as JSON + ERROR [ironic_lib.json_rpc.server] Cannot parse JSON RPC request as JSON + ERROR [ironic_lib.json_rpc.server] Cannot parse JSON RPC request as JSON ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test__append_operator_to_hints ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test__append_operator_to_hints ... ok -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found ... ok -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators ... ok -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint ... ok -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_rotational -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_rotational ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_integer @@ -1762,10 +1853,16 @@ ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values_space ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_no_operator ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_no_operator ... ok +ironic_lib.tests.test_json_rpc.TestService.test_non_json_body +ironic_lib.tests.test_json_rpc.TestService.test_non_json_body ... ok +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_https +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_https ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_single_value ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_single_value ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_empty_value ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_empty_value ... ok +ironic_lib.tests.test_json_rpc.TestService.test_notification +ironic_lib.tests.test_json_rpc.TestService.test_notification ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_in ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_in ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_no_space @@ -1778,20 +1875,6 @@ ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_op_space ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_or ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_or ... ok -ironic_lib.tests.test_keystone.AuthConfTestCase.test_add_auth_opts -ironic_lib.tests.test_keystone.AuthConfTestCase.test_add_auth_opts ... ok -ironic_lib.tests.test_keystone.AuthConfTestCase.test_os_service_types_alias -ironic_lib.tests.test_keystone.AuthConfTestCase.test_os_service_types_alias ... ok -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_command_not_found -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_command_not_found ... ok -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool -ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool ... ok -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_rotational ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_rotational ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_size @@ -1806,6 +1889,8 @@ ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_hctl ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_model ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_model ... ok +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_failure +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_failure ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_name ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_name ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_rotational @@ -1816,6 +1901,8 @@ ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_size ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_vendor ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_vendor ... ok +ironic_lib.tests.test_json_rpc.TestService.test_success +ironic_lib.tests.test_json_rpc.TestService.test_success ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_vendor_extension @@ -1834,60 +1921,84 @@ ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_with_operators ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_without_operators ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_without_operators ... ok -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default ... ok -ironic_lib.tests.test_metrics.TestMetricReflection.test_counter_reflection -ironic_lib.tests.test_metrics.TestMetricReflection.test_counter_reflection ... ok -ironic_lib.tests.test_metrics.TestMetricReflection.test_gauge_reflection -ironic_lib.tests.test_metrics.TestMetricReflection.test_gauge_reflection ... ok -ironic_lib.tests.test_metrics.TestMetricReflection.test_timer_reflection -ironic_lib.tests.test_metrics.TestMetricReflection.test_timer_reflection ... ok -ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_indexerror -ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_indexerror ... ok -ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 -ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 ... ok -ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 -ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 ... ok -ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal -ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal ... ok -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false ... ok -ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed -ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed ... ok -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_log_stdout_true -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_log_stdout_true ... ok -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_default_backend -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_default_backend ... ok -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_default_prefix -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_default_prefix ... ok -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_nonexisting_backend -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_nonexisting_backend ... ok -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_numeric_list_prefix -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_numeric_list_prefix ... ok -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_numeric_prefix -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_numeric_prefix ... ok -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_prepend_global_prefix_host_backend -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_prepend_global_prefix_host_backend ... ok -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_prepend_host_backend -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_prepend_host_backend ... ok -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_prepend_host_reverse_backend -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_prepend_host_reverse_backend ... ok -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_prepend_other_delim -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_prepend_other_delim ... ok -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_statsd_backend -ironic_lib.tests.test_metrics_utils.TestGetLogger.test_statsd_backend ... ok -ironic_lib.tests.test_utils.IsHttpUrlTestCase.test_is_http_url -ironic_lib.tests.test_utils.IsHttpUrlTestCase.test_is_http_url ... ok -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_failure -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_failure ... ok -ironic_lib.tests.test_base.BlockExecuteTestCase.test_can_mock_execute -ironic_lib.tests.test_base.BlockExecuteTestCase.test_can_mock_execute ... ok -ironic_lib.tests.test_base.BlockExecuteTestCase.test_exception_raised_for_execute -ironic_lib.tests.test_base.BlockExecuteTestCase.test_exception_raised_for_execute ... ok -ironic_lib.tests.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked -ironic_lib.tests.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked ... ok +ironic_lib.tests.test_json_rpc.TestService.test_success_no_result +ironic_lib.tests.test_json_rpc.TestService.test_success_no_result ... ok +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_invalid_key +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_invalid_key ... ok +ironic_lib.tests.test_json_rpc.TestService.test_unexpected_failure +ironic_lib.tests.test_json_rpc.TestService.test_unexpected_failure ... ok +ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_counter +ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_counter ... ok +ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_gauge +ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_gauge ... ok +ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_init +ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_init ... ok +ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_open_socket +ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_open_socket ... ok +ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_send +ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_send ... ok +ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_timer +ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_timer ... ok + ERROR [ironic_lib.json_rpc.client] Unexpected error from RPC: {'code': 500, 'message': 'AttributeError', 'data': {'class': 'AttributeError'}} +ironic_lib.tests.test_json_rpc.TestClient.test_call_failure +ironic_lib.tests.test_json_rpc.TestClient.test_call_failure ... ok +ironic_lib.tests.test_json_rpc.TestClient.test_call_failure_with_foreign_class +ironic_lib.tests.test_json_rpc.TestClient.test_call_failure_with_foreign_class ... ok +ironic_lib.tests.test_json_rpc.TestClient.test_call_failure_with_version_and_cap +ironic_lib.tests.test_json_rpc.TestClient.test_call_failure_with_version_and_cap ... ok +ironic_lib.tests.test_json_rpc.TestClient.test_call_ipv4_success +ironic_lib.tests.test_json_rpc.TestClient.test_call_ipv4_success ... ok ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_ok ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_ok ... ok +ironic_lib.tests.test_json_rpc.TestClient.test_call_ipv6_success +ironic_lib.tests.test_json_rpc.TestClient.test_call_ipv6_success ... ok +ironic_lib.tests.test_json_rpc.TestClient.test_call_ipv6_success_rfc2732 +ironic_lib.tests.test_json_rpc.TestClient.test_call_ipv6_success_rfc2732 ... ok +ironic_lib.tests.test_mdns.ParseEndpointTestCase.test_resolve +ironic_lib.tests.test_mdns.ParseEndpointTestCase.test_resolve ... ok +ironic_lib.tests.test_mdns.ParseEndpointTestCase.test_simple +ironic_lib.tests.test_mdns.ParseEndpointTestCase.test_simple ... ok +ironic_lib.tests.test_json_rpc.TestClient.test_call_success +ironic_lib.tests.test_json_rpc.TestClient.test_call_success ... ok +ironic_lib.tests.test_mdns.ParseEndpointTestCase.test_simple_https +ironic_lib.tests.test_mdns.ParseEndpointTestCase.test_simple_https ... ok +ironic_lib.tests.test_mdns.ParseEndpointTestCase.test_with_path_and_port +ironic_lib.tests.test_mdns.ParseEndpointTestCase.test_with_path_and_port ... ok +ironic_lib.tests.test_utils.ParseDeviceTagsTestCase.test_empty +ironic_lib.tests.test_utils.ParseDeviceTagsTestCase.test_empty ERROR [ironic_lib.json_rpc.client] Unexpected error from RPC: {'code': 500, 'message': 'AttributeError'} + ... ok +ironic_lib.tests.test_utils.ParseDeviceTagsTestCase.test_parse +ironic_lib.tests.test_utils.ParseDeviceTagsTestCase.test_parse ... ok +ironic_lib.tests.test_json_rpc.TestClient.test_call_success_with_version +ironic_lib.tests.test_json_rpc.TestClient.test_call_success_with_version ... ok +ironic_lib.tests.test_json_rpc.TestClient.test_call_success_with_version_and_cap +ironic_lib.tests.test_json_rpc.TestClient.test_call_success_with_version_and_cap ... ok +ironic_lib.tests.test_json_rpc.TestClient.test_call_unexpected_failure +ironic_lib.tests.test_json_rpc.TestClient.test_call_unexpected_failure ... ok +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_localhost_only +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_localhost_only ... ok +ironic_lib.tests.test_json_rpc.TestClient.test_call_with_ssl +ironic_lib.tests.test_json_rpc.TestClient.test_call_with_ssl ... ok +ironic_lib.tests.test_json_rpc.TestClient.test_can_send_version +ironic_lib.tests.test_json_rpc.TestClient.test_can_send_version ... ok +ironic_lib.tests.test_metrics_collector.TestDictCollectionMetricLogger.test_counter +ironic_lib.tests.test_metrics_collector.TestDictCollectionMetricLogger.test_counter ... ok +ironic_lib.tests.test_json_rpc.TestClient.test_cast_failure +ironic_lib.tests.test_json_rpc.TestClient.test_cast_failure ... ok +ironic_lib.tests.test_json_rpc.TestClient.test_cast_success +ironic_lib.tests.test_json_rpc.TestClient.test_cast_success ... ok +ironic_lib.tests.test_json_rpc.TestClient.test_cast_success_with_version +ironic_lib.tests.test_json_rpc.TestClient.test_cast_success_with_version ... ok +ironic_lib.tests.test_metrics_collector.TestDictCollectionMetricLogger.test_gauge +ironic_lib.tests.test_metrics_collector.TestDictCollectionMetricLogger.test_gauge ... ok +ironic_lib.tests.test_metrics_collector.TestDictCollectionMetricLogger.test_send +ironic_lib.tests.test_metrics_collector.TestDictCollectionMetricLogger.test_send ... ok +ironic_lib.tests.test_json_rpc.TestClient.test_mask_secrets +ironic_lib.tests.test_json_rpc.TestClient.test_mask_secrets ... ok +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_interfaces +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_interfaces ... ok +ironic_lib.tests.test_metrics_collector.TestDictCollectionMetricLogger.test_timer +ironic_lib.tests.test_metrics_collector.TestDictCollectionMetricLogger.test_timer ... ok ironic_lib.tests.test_utils.MkfsTestCase.test_mkfs ironic_lib.tests.test_utils.MkfsTestCase.test_mkfs ... ok ironic_lib.tests.test_utils.MkfsTestCase.test_mkfs_with_label @@ -1915,8 +2026,8 @@ Exit code: - Stdout: None Stderr: 'fake' -ironic_lib.tests.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error -ironic_lib.tests.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error ... ok +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_find_devices_all +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_find_devices_all ... ok ERROR [ironic_lib.utils] Failed to make file system. File system foo is not supported. Traceback (most recent call last): File "/build/reproducible-path/python-ironic-lib-7.0.0/ironic_lib/utils.py", line 156, in mkfs @@ -1936,122 +2047,96 @@ Exit code: - Stdout: None Stderr: 'No such file or directory' +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_find_devices_name +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_find_devices_name ... ok +ironic_lib.tests.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error +ironic_lib.tests.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error ... ok ironic_lib.tests.test_utils.MkfsTestCase.test_mkfs_with_unsupported_fs ironic_lib.tests.test_utils.MkfsTestCase.test_mkfs_with_unsupported_fs ... ok -ironic_lib.tests.test_utils.MountedTestCase.test_failed_to_mount -ironic_lib.tests.test_utils.MountedTestCase.test_failed_to_mount ... ok - WARNING [ironic_lib.utils] Unable to unmount temporary location /mnt/fake: Unexpected error while running command. -Command: None -Exit code: - -Stdout: None -Stderr: None +ironic_lib.tests.test_keystone.AuthConfTestCase.test_add_auth_opts +ironic_lib.tests.test_keystone.AuthConfTestCase.test_add_auth_opts ... ok +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_find_devices_none +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_find_devices_none ... ok +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute ... ok +ironic_lib.tests.test_keystone.AuthConfTestCase.test_os_service_types_alias +ironic_lib.tests.test_keystone.AuthConfTestCase.test_os_service_types_alias ... ok +ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_indexerror +ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_indexerror ... ok +ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 +ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 ... ok +ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 +ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 ... ok +ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal +ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal ... ok +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints ... ok + WARNING [ironic_lib.utils] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_not_found +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_not_found ... ok +ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed +ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed ... ok +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 ... ok +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_params +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_params ... ok +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 ... ok + WARNING [ironic_lib.utils] No device found that matches the root device hints {'size': '>=50', 'model': 's==foo'} +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found ... ok +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators ... ok +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint ... ok + WARNING [ironic_lib.utils] The attribute "rotational" (with value "None") of device "/dev/sda" is not a valid Boolean. Skipping device. +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_rotational +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_rotational ... ok +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool +ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool ... ok +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_race +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_race ... ok +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_simple +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_simple ... ok +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_skip_invalid +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_skip_invalid ... ok ironic_lib.tests.test_basic_auth.TestAuthBasic.test_auth_entry ironic_lib.tests.test_basic_auth.TestAuthBasic.test_auth_entry ... ok -ironic_lib.tests.test_utils.MountedTestCase.test_failed_to_unmount -ironic_lib.tests.test_utils.MountedTestCase.test_failed_to_unmount ... ok - ERROR [ironic_lib.auth_basic] Problem reading auth user file: [Errno 2] No such file or directory: '/tmp/tmp7vq59g2i/tmphahkiex7.missing' + ERROR [ironic_lib.auth_basic] Problem reading auth user file: [Errno 2] No such file or directory: '/tmp/tmp57kva6_d/tmpfwyg6ibr.missing' ironic_lib.tests.test_basic_auth.TestAuthBasic.test_authenticate ironic_lib.tests.test_basic_auth.TestAuthBasic.test_authenticate ... ok -ironic_lib.tests.test_utils.MountedTestCase.test_temporary -ironic_lib.tests.test_utils.MountedTestCase.test_temporary ... ok -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_binary_data -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_binary_data ... ok -ironic_lib.tests.test_utils.MountedTestCase.test_with_dest -ironic_lib.tests.test_utils.MountedTestCase.test_with_dest ... ok ironic_lib.tests.test_basic_auth.TestAuthBasic.test_middleware_authenticate ironic_lib.tests.test_basic_auth.TestAuthBasic.test_middleware_authenticate ... ok -ironic_lib.tests.test_exception.TestIronicException.test___init___invalid_kwarg -ironic_lib.tests.test_exception.TestIronicException.test___init___invalid_kwarg ... ok ironic_lib.tests.test_basic_auth.TestAuthBasic.test_middleware_unauthenticated ironic_lib.tests.test_basic_auth.TestAuthBasic.test_middleware_unauthenticated ... ok -ironic_lib.tests.test_exception.TestIronicException.test___init___invalid_kwarg_reraise -ironic_lib.tests.test_exception.TestIronicException.test___init___invalid_kwarg_reraise ... ok -ironic_lib.tests.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute -ironic_lib.tests.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute ... ok ironic_lib.tests.test_basic_auth.TestAuthBasic.test_parse_header ironic_lib.tests.test_basic_auth.TestAuthBasic.test_parse_header ... ok ironic_lib.tests.test_basic_auth.TestAuthBasic.test_parse_token ironic_lib.tests.test_basic_auth.TestAuthBasic.test_parse_token ... ok -ironic_lib.tests.test_exception.TestIronicException.test___init___json_serializable -ironic_lib.tests.test_exception.TestIronicException.test___init___json_serializable ... ok +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_v6 +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_v6 ... ok ironic_lib.tests.test_basic_auth.TestAuthBasic.test_unauthorized ironic_lib.tests.test_basic_auth.TestAuthBasic.test_unauthorized ... ok -ironic_lib.tests.test_exception.TestIronicException.test___init___string_serializable -ironic_lib.tests.test_exception.TestIronicException.test___init___string_serializable ... ok -ironic_lib.tests.test_utils.MountedTestCase.test_with_opts -ironic_lib.tests.test_utils.MountedTestCase.test_with_opts ... ok -ironic_lib.tests.test_mdns.ParseEndpointTestCase.test_resolve -ironic_lib.tests.test_mdns.ParseEndpointTestCase.test_resolve ... ok ironic_lib.tests.test_basic_auth.TestAuthBasic.test_validate_auth_file ironic_lib.tests.test_basic_auth.TestAuthBasic.test_validate_auth_file ... ok -ironic_lib.tests.test_mdns.ParseEndpointTestCase.test_simple -ironic_lib.tests.test_mdns.ParseEndpointTestCase.test_simple ... ok -ironic_lib.tests.test_mdns.ParseEndpointTestCase.test_simple_https -ironic_lib.tests.test_mdns.ParseEndpointTestCase.test_simple_https ... ok -ironic_lib.tests.test_mdns.ParseEndpointTestCase.test_with_path_and_port -ironic_lib.tests.test_mdns.ParseEndpointTestCase.test_with_path_and_port ... ok -ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_counter -ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_counter ... ok -ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_gauge -ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_gauge ... ok -ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_init -ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_init ... ok ironic_lib.tests.test_json_rpc.TestSession.test_http_basic ironic_lib.tests.test_json_rpc.TestSession.test_http_basic ... ok -ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_open_socket -ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_open_socket ... ok -ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_send -ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_send ... ok -ironic_lib.tests.test_utils.MountedTestCase.test_with_type -ironic_lib.tests.test_utils.MountedTestCase.test_with_type ... ok -ironic_lib.tests.test_json_rpc.TestService.test_expected_failure -ironic_lib.tests.test_json_rpc.TestService.test_expected_failure ... ok -ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_timer -ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_timer ... ok ironic_lib.tests.test_json_rpc.TestSession.test_http_basic_deprecated ironic_lib.tests.test_json_rpc.TestSession.test_http_basic_deprecated ... ok -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_interfaces -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_interfaces ... ok ironic_lib.tests.test_json_rpc.TestSession.test_keystone ironic_lib.tests.test_json_rpc.TestSession.test_keystone ... ok -ironic_lib.tests.test_json_rpc.TestService.test_expected_failure_oslo -ironic_lib.tests.test_json_rpc.TestService.test_expected_failure_oslo ... ok ironic_lib.tests.test_json_rpc.TestSession.test_noauth ironic_lib.tests.test_json_rpc.TestSession.test_noauth ... ok - WARNING [ironic_lib.mdns] None of addresses ['::2', '::3'] seem routable, using ::2 -ironic_lib.tests.test_json_rpc.TestService.test_http_basic -ironic_lib.tests.test_json_rpc.TestService.test_http_basic ... ok -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_fallback -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_fallback ... ok -ironic_lib.tests.test_json_rpc.TestService.test_http_basic_not_authenticated -ironic_lib.tests.test_json_rpc.TestService.test_http_basic_not_authenticated ... ok - ERROR [ironic_lib.json_rpc.server] JSON RPC request {'method': 'no_result', 'id': 'abcd', 'params': {'context': {'user_name': 'admin'}}} is invalid - ERROR [ironic_lib.json_rpc.server] JSON RPC request {'jsonrpc': '2.0', 'id': 'abcd', 'params': {'context': {'user_name': 'admin'}}} is invalid - ERROR [ironic_lib.json_rpc.server] JSON RPC request {'method': 'no_result', 'params': {'context': {'user_name': 'admin'}}} is invalid - ERROR [ironic_lib.json_rpc.server] JSON RPC request {'jsonrpc': '2.0', 'params': {'context': {'user_name': 'admin'}}} is invalid - ERROR [ironic_lib.json_rpc.server] JSON RPC request 42 is not an object (batched requests are not supported) - ERROR [ironic_lib.json_rpc.server] JSON RPC request [] is not an object (batched requests are not supported) - ERROR [ironic_lib.json_rpc.server] JSON RPC request [{'jsonrpc': '2.0', 'method': 'no_result', 'params': {'context': {'user_name': 'admin'}}}] is not an object (batched requests are not supported) -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_params -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_params ... ok -ironic_lib.tests.test_json_rpc.TestService.test_invalid_requests -ironic_lib.tests.test_json_rpc.TestService.test_invalid_requests ... ok -ironic_lib.tests.test_json_rpc.TestService.test_malformed_context -ironic_lib.tests.test_json_rpc.TestService.test_malformed_context ... ok -ironic_lib.tests.test_json_rpc.TestService.test_mask_secrets -ironic_lib.tests.test_json_rpc.TestService.test_mask_secrets ... ok -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_https -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_https ... ok -ironic_lib.tests.test_json_rpc.TestService.test_method_not_found -ironic_lib.tests.test_json_rpc.TestService.test_method_not_found ... ok -ironic_lib.tests.test_json_rpc.TestService.test_method_not_post -ironic_lib.tests.test_json_rpc.TestService.test_method_not_post ... ok -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_race -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_race ... ok +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path ... ok +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol ... ok +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_params +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_params ... ok +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_server +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_server ... ok ironic_lib.tests.test_metrics.TestMetricLogger.test_context_mgr_counter ironic_lib.tests.test_metrics.TestMetricLogger.test_context_mgr_counter ... ok -ironic_lib.tests.test_json_rpc.TestService.test_missing_argument -ironic_lib.tests.test_json_rpc.TestService.test_missing_argument ... ok ironic_lib.tests.test_metrics.TestMetricLogger.test_context_mgr_counter_sample_rate ironic_lib.tests.test_metrics.TestMetricLogger.test_context_mgr_counter_sample_rate ... ok ironic_lib.tests.test_metrics.TestMetricLogger.test_context_mgr_timer @@ -2064,8 +2149,6 @@ ironic_lib.tests.test_metrics.TestMetricLogger.test_decorator_gauge ... ok ironic_lib.tests.test_metrics.TestMetricLogger.test_decorator_timer ironic_lib.tests.test_metrics.TestMetricLogger.test_decorator_timer ... ok -ironic_lib.tests.test_json_rpc.TestService.test_no_context -ironic_lib.tests.test_json_rpc.TestService.test_no_context ... ok ironic_lib.tests.test_metrics.TestMetricLogger.test_get_metric_name ironic_lib.tests.test_metrics.TestMetricLogger.test_get_metric_name ... ok ironic_lib.tests.test_metrics.TestMetricLogger.test_init @@ -2076,59 +2159,24 @@ ironic_lib.tests.test_metrics.TestMetricLogger.test_send_gauge ... ok ironic_lib.tests.test_metrics.TestMetricLogger.test_send_timer ironic_lib.tests.test_metrics.TestMetricLogger.test_send_timer ... ok -ironic_lib.tests.test_json_rpc.TestService.test_no_deny_methods -ironic_lib.tests.test_json_rpc.TestService.test_no_deny_methods ... ok -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_invalid_key -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_invalid_key ... ok - ERROR [ironic_lib.json_rpc.server] Cannot parse JSON RPC request as JSON - ERROR [ironic_lib.json_rpc.server] Cannot parse JSON RPC request as JSON - ERROR [ironic_lib.json_rpc.server] Cannot parse JSON RPC request as JSON -ironic_lib.tests.test_json_rpc.TestService.test_non_json_body -ironic_lib.tests.test_json_rpc.TestService.test_non_json_body ... ok -ironic_lib.tests.test_json_rpc.TestService.test_notification -ironic_lib.tests.test_json_rpc.TestService.test_notification ... ok -ironic_lib.tests.test_json_rpc.TestService.test_success -ironic_lib.tests.test_json_rpc.TestService.test_success ... ok -ironic_lib.tests.test_json_rpc.TestService.test_success_no_result -ironic_lib.tests.test_json_rpc.TestService.test_success_no_result ... ok -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_localhost_only -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_localhost_only ... ok -ironic_lib.tests.test_json_rpc.TestService.test_unexpected_failure -ironic_lib.tests.test_json_rpc.TestService.test_unexpected_failure ... ok -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_not_found -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_not_found ... ok -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_simple -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_simple ... ok -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_skip_invalid -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_skip_invalid ... ok -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_v6 -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_v6 ... ok -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path ... ok -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol ... ok -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_params -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_params ... ok -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_server -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_server ... ok ---------------------------------------------------------------------- -Ran 191 tests in 3.177s +Ran 191 tests in 7.086s OK + stestr slowest Test id Runtime (s) ----------------------------------------------------------------------------- ----------- -ironic_lib.tests.test_basic_auth.TestAuthBasic.test_auth_entry 0.445 +ironic_lib.tests.test_basic_auth.TestAuthBasic.test_auth_entry 1.026 +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_server 0.316 +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_ok 0.155 +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_failure 0.153 +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_binary_data 0.142 +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path 0.133 +ironic_lib.tests.test_keystone.AuthConfTestCase.test_add_auth_opts 0.133 +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_https 0.131 +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_skip_invalid 0.129 ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_params 0.124 -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_failure 0.052 -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_binary_data 0.051 -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_skip_invalid 0.049 -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_localhost_only 0.049 -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_https 0.049 -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path 0.048 -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_race 0.047 -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_interfaces 0.046 + rm -rf .stestr make[1]: Leaving directory '/build/reproducible-path/python-ironic-lib-7.0.0' debian/rules override_dh_install @@ -2162,14 +2210,14 @@ cat /usr/share/openstack-pkg-tools/init-script-template >>$MYINIT.init ; \ pkgos-gen-systemd-unit $i ; \ done -+ ls -1 debian/*.init.in +++ ls -1 'debian/*.init.in' ls: cannot access 'debian/*.init.in': No such file or directory # If there's a service.in file, use that one instead of the generated one set -e ; set -x ; for i in `ls -1 debian/*.service.in`; do \ MYPKG=`echo $i | sed s/.service.in//` ; \ cp $MYPKG.service.in $MYPKG.service ; \ done -+ ls -1 debian/*.service.in +++ ls -1 'debian/*.service.in' ls: cannot access 'debian/*.service.in': No such file or directory # Generate the systemd unit if there's no already existing .service.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ @@ -2178,7 +2226,7 @@ pkgos-gen-systemd-unit $i ; \ fi \ done -+ ls debian/*.init.in +++ ls 'debian/*.init.in' ls: cannot access 'debian/*.init.in': No such file or directory dh_installinit --error-handler=true make[1]: Leaving directory '/build/reproducible-path/python-ironic-lib-7.0.0' @@ -2211,12 +2259,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/4022079/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/4022079/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/2994498 and its subdirectories -I: Current time: Mon Mar 10 23:57:11 -12 2025 -I: pbuilder-time-stamp: 1741694231 +I: removing directory /srv/workspace/pbuilder/4022079 and its subdirectories +I: Current time: Tue Apr 14 08:23:32 +14 2026 +I: pbuilder-time-stamp: 1776104612