Diff of the two buildlogs: -- --- b1/build.log 2024-10-18 18:43:26.989650714 +0000 +++ b2/build.log 2024-10-18 18:49:05.641602650 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri Oct 18 06:36:12 -12 2024 -I: pbuilder-time-stamp: 1729276572 +I: Current time: Sat Oct 19 08:43:36 +14 2024 +I: pbuilder-time-stamp: 1729277016 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -25,52 +25,84 @@ dpkg-source: info: unpacking python-ironic-lib_6.2.0-2.debian.tar.xz I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/10483/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/14818/tmp/hooks/D01_modify_environment starting +debug: Running on virt64a. +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 Oct 18 18:43 /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/14818/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/14818/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='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='armhf' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="32" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf") + BASH_VERSION='5.2.32(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=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='e35925896ece4e9aaf75872a39876d8f' - 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='10483' - PS1='# ' - PS2='> ' + INVOCATION_ID=2b369865331640438711d6ab910887b7 + 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=14818 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.3O0sHfmM/pbuilderrc_usD9 --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.3O0sHfmM/b1 --logfile b1/build.log python-ironic-lib_6.2.0-2.dsc' - SUDO_GID='110' - SUDO_UID='103' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:3142/' + 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.3O0sHfmM/pbuilderrc_CEZe --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.3O0sHfmM/b2 --logfile b2/build.log python-ironic-lib_6.2.0-2.dsc' + SUDO_GID=114 + SUDO_UID=108 + 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 virt32z 6.1.0-26-armmp-lpae #1 SMP Debian 6.1.112-1 (2024-09-30) armv7l GNU/Linux + Linux i-capture-the-hostname 6.1.0-26-arm64 #1 SMP Debian 6.1.112-1 (2024-09-30) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/10483/tmp/hooks/D02_print_environment finished +I: user script /srv/workspace/pbuilder/14818/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -372,7 +404,7 @@ Get: 224 http://deb.debian.org/debian unstable/main armhf python3-oslotest all 1:5.0.0-3 [17.2 kB] Get: 225 http://deb.debian.org/debian unstable/main armhf python3-pygments all 2.18.0+dfsg-1 [836 kB] Get: 226 http://deb.debian.org/debian unstable/main armhf python3-zeroconf all 0.135.0-1 [89.7 kB] -Fetched 57.7 MB in 2s (32.6 MB/s) +Fetched 57.7 MB in 2s (24.3 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.12-minimal:armhf. (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 ... 19665 files and directories currently installed.) @@ -1100,8 +1132,8 @@ Setting up tzdata (2024b-3) ... Current default time zone: 'Etc/UTC' -Local time is now: Fri Oct 18 18:38:12 UTC 2024. -Universal Time is now: Fri Oct 18 18:38:12 UTC 2024. +Local time is now: Fri Oct 18 18:44:55 UTC 2024. +Universal Time is now: Fri Oct 18 18:44:55 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libpgm-5.3-0t64:armhf (5.3.128~dfsg-2.1) ... @@ -1323,7 +1355,11 @@ fakeroot is already the newest version (1.36-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/python-ironic-lib-6.2.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../python-ironic-lib_6.2.0-2_source.changes +I: user script /srv/workspace/pbuilder/14818/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/14818/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/python-ironic-lib-6.2.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../python-ironic-lib_6.2.0-2_source.changes dpkg-buildpackage: info: source package python-ironic-lib dpkg-buildpackage: info: source version 6.2.0-2 dpkg-buildpackage: info: source distribution unstable @@ -1381,21 +1417,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 -+ sed s/python-// -+ echo python-ironic-lib +++ echo python-ironic-lib +++ sed s/python-// + PY_MODULE_NAME=ironic-lib -+ py3versions -vr +++ py3versions -vr + PYTHON3S=3.12 -+ [ yes = yes ] ++ '[' yes = yes ']' + TARGET_DIR=tmp -+ pwd ++ for pyvers in ${PYTHON3S} +++ pwd + python3.12 setup.py install --install-layout=deb --root /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! @@ -1443,47 +1484,47 @@ creating build creating build/lib creating build/lib/ironic_lib -creating build/lib/ironic_lib/json_rpc -copying ironic_lib/json_rpc/client.py -> build/lib/ironic_lib/json_rpc -copying ironic_lib/json_rpc/server.py -> build/lib/ironic_lib/json_rpc -copying ironic_lib/json_rpc/__init__.py -> build/lib/ironic_lib/json_rpc +copying ironic_lib/exception.py -> build/lib/ironic_lib +copying ironic_lib/keystone.py -> build/lib/ironic_lib +copying ironic_lib/mdns.py -> build/lib/ironic_lib +copying ironic_lib/utils.py -> build/lib/ironic_lib +copying ironic_lib/disk_utils.py -> build/lib/ironic_lib +copying ironic_lib/__init__.py -> build/lib/ironic_lib +copying ironic_lib/wsgi.py -> build/lib/ironic_lib +copying ironic_lib/disk_partitioner.py -> build/lib/ironic_lib +copying ironic_lib/metrics_collector.py -> build/lib/ironic_lib +copying ironic_lib/auth_basic.py -> build/lib/ironic_lib +copying ironic_lib/metrics_statsd.py -> build/lib/ironic_lib +copying ironic_lib/qemu_img.py -> build/lib/ironic_lib +copying ironic_lib/metrics.py -> build/lib/ironic_lib +copying ironic_lib/capabilities.py -> build/lib/ironic_lib +copying ironic_lib/metrics_utils.py -> build/lib/ironic_lib 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/common/i18n.py -> build/lib/ironic_lib/common creating build/lib/ironic_lib/tests -copying ironic_lib/tests/test_basic_auth.py -> build/lib/ironic_lib/tests copying ironic_lib/tests/base.py -> build/lib/ironic_lib/tests +copying ironic_lib/tests/test_json_rpc.py -> build/lib/ironic_lib/tests copying ironic_lib/tests/test_keystone.py -> build/lib/ironic_lib/tests -copying ironic_lib/tests/test_metrics.py -> build/lib/ironic_lib/tests -copying ironic_lib/tests/test_utils.py -> build/lib/ironic_lib/tests -copying ironic_lib/tests/test_base.py -> build/lib/ironic_lib/tests -copying ironic_lib/tests/test_metrics_collector.py -> build/lib/ironic_lib/tests -copying ironic_lib/tests/test_exception.py -> build/lib/ironic_lib/tests -copying ironic_lib/tests/test_metrics_statsd.py -> build/lib/ironic_lib/tests +copying ironic_lib/tests/test_capabilities.py -> build/lib/ironic_lib/tests copying ironic_lib/tests/test_mdns.py -> build/lib/ironic_lib/tests -copying ironic_lib/tests/test_disk_utils.py -> build/lib/ironic_lib/tests copying ironic_lib/tests/test_metrics_utils.py -> build/lib/ironic_lib/tests -copying ironic_lib/tests/test_capabilities.py -> build/lib/ironic_lib/tests copying ironic_lib/tests/__init__.py -> build/lib/ironic_lib/tests +copying ironic_lib/tests/test_base.py -> build/lib/ironic_lib/tests +copying ironic_lib/tests/test_disk_utils.py -> build/lib/ironic_lib/tests +copying ironic_lib/tests/test_metrics_collector.py -> build/lib/ironic_lib/tests +copying ironic_lib/tests/test_metrics_statsd.py -> build/lib/ironic_lib/tests copying ironic_lib/tests/test_disk_partitioner.py -> build/lib/ironic_lib/tests +copying ironic_lib/tests/test_metrics.py -> build/lib/ironic_lib/tests +copying ironic_lib/tests/test_exception.py -> build/lib/ironic_lib/tests +copying ironic_lib/tests/test_basic_auth.py -> build/lib/ironic_lib/tests copying ironic_lib/tests/test_qemu_img.py -> build/lib/ironic_lib/tests -copying ironic_lib/tests/test_json_rpc.py -> build/lib/ironic_lib/tests -copying ironic_lib/disk_utils.py -> build/lib/ironic_lib -copying ironic_lib/exception.py -> build/lib/ironic_lib -copying ironic_lib/mdns.py -> build/lib/ironic_lib -copying ironic_lib/capabilities.py -> build/lib/ironic_lib -copying ironic_lib/metrics.py -> build/lib/ironic_lib -copying ironic_lib/utils.py -> build/lib/ironic_lib -copying ironic_lib/metrics_utils.py -> build/lib/ironic_lib -copying ironic_lib/keystone.py -> build/lib/ironic_lib -copying ironic_lib/metrics_statsd.py -> build/lib/ironic_lib -copying ironic_lib/auth_basic.py -> build/lib/ironic_lib -copying ironic_lib/qemu_img.py -> build/lib/ironic_lib -copying ironic_lib/disk_partitioner.py -> build/lib/ironic_lib -copying ironic_lib/__init__.py -> build/lib/ironic_lib -copying ironic_lib/metrics_collector.py -> build/lib/ironic_lib -copying ironic_lib/wsgi.py -> build/lib/ironic_lib +copying ironic_lib/tests/test_utils.py -> build/lib/ironic_lib/tests +creating 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 +copying ironic_lib/json_rpc/server.py -> build/lib/ironic_lib/json_rpc running egg_info creating ironic_lib.egg-info writing ironic_lib.egg-info/PKG-INFO @@ -1513,85 +1554,85 @@ creating /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3 creating /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib -copying build/lib/ironic_lib/disk_utils.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib -creating /build/reproducible-path/python-ironic-lib-6.2.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-6.2.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-6.2.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-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc +creating /build/reproducible-path/python-ironic-lib-6.2.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-6.2.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-6.2.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-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common copying build/lib/ironic_lib/exception.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib +copying build/lib/ironic_lib/keystone.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib copying build/lib/ironic_lib/mdns.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib -copying build/lib/ironic_lib/capabilities.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib -copying build/lib/ironic_lib/metrics.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib copying build/lib/ironic_lib/utils.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib +creating /build/reproducible-path/python-ironic-lib-6.2.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-6.2.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-6.2.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-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc +copying build/lib/ironic_lib/disk_utils.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib +copying build/lib/ironic_lib/__init__.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib +copying build/lib/ironic_lib/wsgi.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib +copying build/lib/ironic_lib/disk_partitioner.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib creating /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests -copying build/lib/ironic_lib/tests/test_basic_auth.py -> /build/reproducible-path/python-ironic-lib-6.2.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-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests +copying build/lib/ironic_lib/tests/test_json_rpc.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests copying build/lib/ironic_lib/tests/test_keystone.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests -copying build/lib/ironic_lib/tests/test_metrics.py -> /build/reproducible-path/python-ironic-lib-6.2.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-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests -copying build/lib/ironic_lib/tests/test_base.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests -copying build/lib/ironic_lib/tests/test_metrics_collector.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests -copying build/lib/ironic_lib/tests/test_exception.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests -copying build/lib/ironic_lib/tests/test_metrics_statsd.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests +copying build/lib/ironic_lib/tests/test_capabilities.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests copying build/lib/ironic_lib/tests/test_mdns.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests -copying build/lib/ironic_lib/tests/test_disk_utils.py -> /build/reproducible-path/python-ironic-lib-6.2.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-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests -copying build/lib/ironic_lib/tests/test_capabilities.py -> /build/reproducible-path/python-ironic-lib-6.2.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-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests +copying build/lib/ironic_lib/tests/test_base.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests +copying build/lib/ironic_lib/tests/test_disk_utils.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests +copying build/lib/ironic_lib/tests/test_metrics_collector.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests +copying build/lib/ironic_lib/tests/test_metrics_statsd.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests copying build/lib/ironic_lib/tests/test_disk_partitioner.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests +copying build/lib/ironic_lib/tests/test_metrics.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests +copying build/lib/ironic_lib/tests/test_exception.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests +copying build/lib/ironic_lib/tests/test_basic_auth.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests copying build/lib/ironic_lib/tests/test_qemu_img.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests -copying build/lib/ironic_lib/tests/test_json_rpc.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests -copying build/lib/ironic_lib/metrics_utils.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib -copying build/lib/ironic_lib/keystone.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib -copying build/lib/ironic_lib/metrics_statsd.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib -creating /build/reproducible-path/python-ironic-lib-6.2.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-6.2.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-6.2.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-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common +copying build/lib/ironic_lib/tests/test_utils.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests +copying build/lib/ironic_lib/metrics_collector.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib copying build/lib/ironic_lib/auth_basic.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib +copying build/lib/ironic_lib/metrics_statsd.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib copying build/lib/ironic_lib/qemu_img.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib -copying build/lib/ironic_lib/disk_partitioner.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib -copying build/lib/ironic_lib/__init__.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib -copying build/lib/ironic_lib/metrics_collector.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib -copying build/lib/ironic_lib/wsgi.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/disk_utils.py to disk_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc/client.py to client.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc/server.py to server.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc/__init__.py to __init__.cpython-312.pyc +copying build/lib/ironic_lib/metrics.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib +copying build/lib/ironic_lib/capabilities.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib +copying build/lib/ironic_lib/metrics_utils.py -> /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common/config.py to config.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common/i18n.py to i18n.cpython-312.pyc byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/exception.py to exception.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/keystone.py to keystone.cpython-312.pyc byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/mdns.py to mdns.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/capabilities.py to capabilities.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/metrics.py to metrics.cpython-312.pyc byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/utils.py to utils.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_basic_auth.py to test_basic_auth.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc/client.py to client.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/json_rpc/server.py to server.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/disk_utils.py to disk_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/wsgi.py to wsgi.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/disk_partitioner.py to disk_partitioner.cpython-312.pyc byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_json_rpc.py to test_json_rpc.cpython-312.pyc byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_keystone.py to test_keystone.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_metrics.py to test_metrics.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_utils.py to test_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_base.py to test_base.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_metrics_collector.py to test_metrics_collector.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_exception.py to test_exception.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_metrics_statsd.py to test_metrics_statsd.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_capabilities.py to test_capabilities.cpython-312.pyc byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_mdns.py to test_mdns.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_disk_utils.py to test_disk_utils.cpython-312.pyc byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_metrics_utils.py to test_metrics_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_capabilities.py to test_capabilities.cpython-312.pyc byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_base.py to test_base.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_disk_utils.py to test_disk_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_metrics_collector.py to test_metrics_collector.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_metrics_statsd.py to test_metrics_statsd.cpython-312.pyc byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_disk_partitioner.py to test_disk_partitioner.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_metrics.py to test_metrics.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_exception.py to test_exception.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_basic_auth.py to test_basic_auth.cpython-312.pyc byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_qemu_img.py to test_qemu_img.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_json_rpc.py to test_json_rpc.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/metrics_utils.py to metrics_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/keystone.py to keystone.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/metrics_statsd.py to metrics_statsd.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common/i18n.py to i18n.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common/config.py to config.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/common/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/tests/test_utils.py to test_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/metrics_collector.py to metrics_collector.cpython-312.pyc byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/auth_basic.py to auth_basic.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/metrics_statsd.py to metrics_statsd.cpython-312.pyc byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/qemu_img.py to qemu_img.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/disk_partitioner.py to disk_partitioner.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/metrics_collector.py to metrics_collector.cpython-312.pyc -byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/wsgi.py to wsgi.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/metrics.py to metrics.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/capabilities.py to capabilities.cpython-312.pyc +byte-compiling /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib/metrics_utils.py to metrics_utils.cpython-312.pyc running install_data creating /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/etc creating /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/etc/ironic @@ -1601,10 +1642,10 @@ Copying ironic_lib.egg-info to /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages/ironic_lib-6.2.0.egg-info Skipping SOURCES.txt running install_scripts -+ pwd -+ rm -rf /build/reproducible-path/python-ironic-lib-6.2.0/debian/python*/usr/lib/python*/dist-packages/*.pth -+ pwd -+ rm -rf /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python*/dist-packages/*.pth +++ pwd ++ rm -rf '/build/reproducible-path/python-ironic-lib-6.2.0/debian/python*/usr/lib/python*/dist-packages/*.pth' +++ pwd ++ rm -rf '/build/reproducible-path/python-ironic-lib-6.2.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 @@ -1612,427 +1653,290 @@ + PYTHON3S=disabled + TEST_PARALLEL_OPT=--parallel + TEST_SERIAL_OPT= -+ echo WARNING: --no-py2 is deprecated, and always on. ++ for i in $@ ++ case "${1}" in ++ echo 'WARNING: --no-py2 is deprecated, and always on.' WARNING: --no-py2 is deprecated, and always on. + shift -+ py3versions -vr ++ for i in $@ ++ case "${1}" in +++ py3versions -vr + PYTHON3S=3.12 -+ [ yes = no ] -+ [ no = yes ] -+ [ 3.12 = disabled ] -+ echo 3.12 -libfakeroot internal error: payload not recognized! -+ cut -d. -f1 ++ '[' yes = no ']' ++ '[' no = yes ']' ++ for pyvers in ${PYTHON3S} ++ '[' 3.12 = disabled ']' +++ echo 3.12 +++ cut -d. -f1 + PYMAJOR=3 -+ echo ===> Testing with python (python3) ++ echo '===> Testing with python (python3)' ===> Testing with python (python3) -+ pwd -+ [ -d /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -z ] -+ pwd -+ echo Implicitly adding PYTHONPATH=/build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages +++ pwd ++ '[' -d /build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -z '' ']' +++ pwd ++ echo 'Implicitly adding PYTHONPATH=/build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages' Implicitly adding PYTHONPATH=/build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages -+ pwd +++ pwd + export PYTHONPATH=/build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages -+ [ -e .stestr.conf ] -+ [ -x /usr/bin/python3-stestr ] ++ PYTHONPATH=/build/reproducible-path/python-ironic-lib-6.2.0/debian/tmp/usr/lib/python3/dist-packages ++ '[' -e .stestr.conf ']' ++ '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr -+ PYTHON=python3.12 stestr run --parallel --subunit ironic_lib\.tests\.(?!(.*test_json_rpc\.TestService\.test_authenticated.*)) ++ PYTHON=python3.12 ++ stestr run --parallel --subunit 'ironic_lib\.tests\.(?!(.*test_json_rpc\.TestService\.test_authenticated.*))' + subunit2pyunit -ironic_lib.tests.test_capabilities.UpdateAndCombineTestCase.test_from_dict -ironic_lib.tests.test_capabilities.UpdateAndCombineTestCase.test_from_dict ... 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_capabilities.UpdateAndCombineTestCase.test_from_dict +ironic_lib.tests.test_capabilities.UpdateAndCombineTestCase.test_from_dict ... ok ironic_lib.tests.test_capabilities.UpdateAndCombineTestCase.test_from_old_format ironic_lib.tests.test_capabilities.UpdateAndCombineTestCase.test_from_old_format ... ok -ironic_lib.tests.test_capabilities.ParseTestCase.test_from_dict -ironic_lib.tests.test_capabilities.ParseTestCase.test_from_dict ... ok -ironic_lib.tests.test_capabilities.CombineTestCase.test_combine -ironic_lib.tests.test_capabilities.CombineTestCase.test_combine ... ok ironic_lib.tests.test_capabilities.UpdateAndCombineTestCase.test_skip_none ironic_lib.tests.test_capabilities.UpdateAndCombineTestCase.test_skip_none ... ok +ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition +ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition ... ok +ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_commit +ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_commit ... ok +ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected +ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected ... ok +ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy +ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy ... ok +ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once +ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once ... ok +ironic_lib.tests.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition +ironic_lib.tests.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition ... ok +ironic_lib.tests.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found +ironic_lib.tests.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found ... ok +ironic_lib.tests.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt +ironic_lib.tests.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt ... ok +ironic_lib.tests.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr +ironic_lib.tests.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr ... ok +ironic_lib.tests.test_disk_utils.GetDeviceInformationTestCase.test_empty +ironic_lib.tests.test_disk_utils.GetDeviceInformationTestCase.test_empty ... ok +ironic_lib.tests.test_disk_utils.GetDeviceInformationTestCase.test_fields +ironic_lib.tests.test_disk_utils.GetDeviceInformationTestCase.test_fields ... ok +ironic_lib.tests.test_disk_utils.GetDeviceInformationTestCase.test_normal +ironic_lib.tests.test_disk_utils.GetDeviceInformationTestCase.test_normal ... ok +ironic_lib.tests.test_disk_utils.GetDeviceInformationTestCase.test_probe +ironic_lib.tests.test_disk_utils.GetDeviceInformationTestCase.test_probe ... ok +ironic_lib.tests.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts +ironic_lib.tests.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ... ok + WARNING [ironic_lib.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_lib.tests.test_disk_utils.TriggerDeviceRescanTestCase.test_fails +ironic_lib.tests.test_disk_utils.TriggerDeviceRescanTestCase.test_fails ... ok +ironic_lib.tests.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger +ironic_lib.tests.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger ... ok WARNING [ironic_lib.capabilities] Ignoring malformed capability 'badformat'. Format should be 'key:val'. -ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata -ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata ... 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_capabilities.CombineTestCase.test_combine +ironic_lib.tests.test_capabilities.CombineTestCase.test_combine ... ok ironic_lib.tests.test_capabilities.CombineTestCase.test_skip_none ironic_lib.tests.test_capabilities.CombineTestCase.test_skip_none ... ok +ironic_lib.tests.test_capabilities.ParseTestCase.test_from_dict +ironic_lib.tests.test_capabilities.ParseTestCase.test_from_dict ... ok ironic_lib.tests.test_capabilities.ParseTestCase.test_from_json_string ironic_lib.tests.test_capabilities.ParseTestCase.test_from_json_string ... ok -ironic_lib.tests.test_capabilities.ParseTestCase.test_from_old_format -ironic_lib.tests.test_capabilities.ParseTestCase.test_from_old_format ... ok -ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 -ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 ... 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_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc +ironic_lib.tests.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc ... ok +ironic_lib.tests.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required +ironic_lib.tests.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required ... ok +ironic_lib.tests.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_required +ironic_lib.tests.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_required ... ok ironic_lib.tests.test_disk_utils.GetDeviceByteSizeTestCase.test_get_dev_byte_size ironic_lib.tests.test_disk_utils.GetDeviceByteSizeTestCase.test_get_dev_byte_size ... ok +ironic_lib.tests.test_capabilities.ParseTestCase.test_from_old_format +ironic_lib.tests.test_capabilities.ParseTestCase.test_from_old_format ... ok ironic_lib.tests.test_capabilities.ParseTestCase.test_from_old_format_skip_malformed ironic_lib.tests.test_capabilities.ParseTestCase.test_from_old_format_skip_malformed ... ok -ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr -ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr ... 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_capabilities.ParseTestCase.test_from_old_format_with_malformed -ironic_lib.tests.test_capabilities.ParseTestCase.test_from_old_format_with_malformed ... ok ironic_lib.tests.test_disk_utils.GetUEFIDiskIdentifierTestCase.test_get_uefi_disk_identifier_non_uefi_bootable_image ironic_lib.tests.test_disk_utils.GetUEFIDiskIdentifierTestCase.test_get_uefi_disk_identifier_non_uefi_bootable_image ... ok -ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_sgdisk_fail -ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_sgdisk_fail ... 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_capabilities.ParseTestCase.test_no_old_format -ironic_lib.tests.test_capabilities.ParseTestCase.test_no_old_format ... ok +ironic_lib.tests.test_capabilities.ParseTestCase.test_from_old_format_with_malformed +ironic_lib.tests.test_capabilities.ParseTestCase.test_from_old_format_with_malformed ... ok ironic_lib.tests.test_disk_utils.GetUEFIDiskIdentifierTestCase.test_get_uefi_disk_identifier_uefi_bootable_image ironic_lib.tests.test_disk_utils.GetUEFIDiskIdentifierTestCase.test_get_uefi_disk_identifier_uefi_bootable_image ... ok -ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_tiny_partition -ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_tiny_partition ... ok +ironic_lib.tests.test_capabilities.ParseTestCase.test_no_old_format +ironic_lib.tests.test_capabilities.ParseTestCase.test_no_old_format ... ok ironic_lib.tests.test_capabilities.ParseTestCase.test_none ironic_lib.tests.test_capabilities.ParseTestCase.test_none ... ok -ironic_lib.tests.test_disk_utils.ListPartitionsTestCase.test_correct -ironic_lib.tests.test_disk_utils.ListPartitionsTestCase.test_correct ... ok -ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_fail -ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_fail ... ok -ironic_lib.tests.test_capabilities.ParseTestCase.test_unexpected_type -ironic_lib.tests.test_capabilities.ParseTestCase.test_unexpected_type ... ok -ironic_lib.tests.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme -ironic_lib.tests.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme ... ok -ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force -ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force ... ok -ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition -ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_add_partition ... ok -ironic_lib.tests.test_disk_utils.ListPartitionsTestCase.test_incorrect -ironic_lib.tests.test_disk_utils.ListPartitionsTestCase.test_incorrect ... ok -ironic_lib.tests.test_disk_utils.GetDeviceInformationTestCase.test_empty -ironic_lib.tests.test_disk_utils.GetDeviceInformationTestCase.test_empty ... ok -ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_commit -ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_commit ... ok -ironic_lib.tests.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt -ironic_lib.tests.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt ... ok -ironic_lib.tests.test_disk_utils.GetDeviceInformationTestCase.test_fields -ironic_lib.tests.test_disk_utils.GetDeviceInformationTestCase.test_fields ... ok -ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_block_uuid -ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_block_uuid ... ok -ironic_lib.tests.test_disk_utils.GetDeviceInformationTestCase.test_normal -ironic_lib.tests.test_disk_utils.GetDeviceInformationTestCase.test_normal ... ok -ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid -ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid ... ok -ironic_lib.tests.test_disk_utils.GetDeviceInformationTestCase.test_probe -ironic_lib.tests.test_disk_utils.GetDeviceInformationTestCase.test_probe ... ok -ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected -ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_disconnected ... ok -ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions -ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions ... ok ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions ... ok -ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions -ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions ... ok +ironic_lib.tests.test_capabilities.ParseTestCase.test_unexpected_type +ironic_lib.tests.test_capabilities.ParseTestCase.test_unexpected_type ... ok ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_disk_label_gpt ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_disk_label_gpt ... ok -ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy -ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_always_busy ... ok -ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table -ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table ... ok +ironic_lib.tests.test_disk_utils.GetDeviceBlockSizeTestCase.test_get_dev_block_size +ironic_lib.tests.test_disk_utils.GetDeviceBlockSizeTestCase.test_get_dev_block_size ... ok ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_gpt_with_prep ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_gpt_with_prep ... ok - ERROR [ironic_lib.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_lib.tests.test_disk_utils.OtherFunctionTestCase.test_get_image_mb -ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_get_image_mb ... ok -ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once -ironic_lib.tests.test_disk_partitioner.DiskPartitionerTestCase.test_commit_with_device_is_busy_once ... ok +ironic_lib.tests.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt +ironic_lib.tests.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ... ok +ironic_lib.tests.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos +ironic_lib.tests.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos ... ok + WARNING [ironic_lib.disk_utils] Unable to get partition table type for device hello ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot ... ok -ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts -ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts ... ok - ERROR [ironic_lib.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_lib.tests.test_disk_utils.GetDeviceBlockSizeTestCase.test_get_dev_block_size -ironic_lib.tests.test_disk_utils.GetDeviceBlockSizeTestCase.test_get_dev_block_size ... ok +ironic_lib.tests.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown +ironic_lib.tests.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown ... ok ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_gpt_bios ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_gpt_bios ... ok -ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises -ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises ... 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_disk_utils.ListPartitionsTestCase.test_correct +ironic_lib.tests.test_disk_utils.ListPartitionsTestCase.test_correct ... ok +ironic_lib.tests.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme +ironic_lib.tests.test_disk_utils.ListPartitionsTestCase.test_correct_gpt_nvme ... ok ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_uefi ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_local_boot_uefi ... ok -ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works -ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works ... 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_disk_utils.ListPartitionsTestCase.test_incorrect +ironic_lib.tests.test_disk_utils.ListPartitionsTestCase.test_incorrect ... ok +ironic_lib.tests.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt +ironic_lib.tests.test_disk_utils.ListPartitionsTestCase.test_incorrect_gpt ... ok ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_mbr_with_prep ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_mbr_with_prep ... ok -ironic_lib.tests.test_exception.TestIronicException.test___init___json_serializable -ironic_lib.tests.test_exception.TestIronicException.test___init___json_serializable ... ok - WARNING [ironic_lib.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_lib.tests.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts -ironic_lib.tests.test_disk_utils.TriggerDeviceRescanTestCase.test_custom_attempts ... 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_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_ephemeral ... 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_disk_utils.TriggerDeviceRescanTestCase.test_fails -ironic_lib.tests.test_disk_utils.TriggerDeviceRescanTestCase.test_fails ... ok - ERROR [ironic_lib.auth_basic] Problem reading auth user file: [Errno 2] No such file or directory: '/tmp/tmppxkq2113/tmpvt1feozn.missing' -ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device -ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device ... ok -ironic_lib.tests.test_basic_auth.TestAuthBasic.test_authenticate -ironic_lib.tests.test_basic_auth.TestAuthBasic.test_authenticate ... ok -ironic_lib.tests.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger -ironic_lib.tests.test_disk_utils.TriggerDeviceRescanTestCase.test_trigger ... ok -ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device -ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device ... ok -ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_nvme_device -ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_nvme_device ... 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_json_rpc.TestService.test_expected_failure -ironic_lib.tests.test_json_rpc.TestService.test_expected_failure ... ok ironic_lib.tests.test_json_rpc.TestClient.test_call_failure ironic_lib.tests.test_json_rpc.TestClient.test_call_failure ... ok ERROR [ironic_lib.json_rpc.client] Unexpected error from RPC: {'code': 500, 'message': 'AttributeError', 'data': {'class': 'AttributeError'}} -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_binary_data -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_binary_data ... 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_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device +ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_iscsi_device ... 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.TestService.test_expected_failure_oslo -ironic_lib.tests.test_json_rpc.TestService.test_expected_failure_oslo ... 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_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device +ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_local_device ... 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 - WARNING [ironic_lib.mdns] None of addresses ['::2', '::3'] seem routable, using ::2 -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_disk_utils.MakePartitionsTestCase.test_make_partitions_with_nvme_device +ironic_lib.tests.test_disk_utils.MakePartitionsTestCase.test_make_partitions_with_nvme_device ... 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.GetEndpointTestCase.test_fallback -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_fallback ... ok -ironic_lib.tests.test_basic_auth.TestAuthBasic.test_unauthorized -ironic_lib.tests.test_basic_auth.TestAuthBasic.test_unauthorized ... 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_disk_utils.OtherFunctionTestCase.test_block_uuid +ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_block_uuid ... ok +ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid +ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_block_uuid_fallback_to_uuid ... 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_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions +ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions ... 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_basic_auth.TestAuthBasic.test_validate_auth_file -ironic_lib.tests.test_basic_auth.TestAuthBasic.test_validate_auth_file ... 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_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions +ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_no_logical_partitions ... ok +ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table +ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_count_mbr_partitions_wrong_partition_table ... ok +ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_get_image_mb +ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_get_image_mb ... 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_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition -ironic_lib.tests.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition ... 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.GetEndpointTestCase.test_https -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_https ... ok + ERROR [ironic_lib.disk_utils] Unable to stat device /dev/disk/by-path/ip-1.2.3.4:5678-iscsi-iqn.fake-lun-9 after attempting to verify 2 times. + ERROR [ironic_lib.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_lib.tests.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts +ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_is_block_device_attempts ... ok +ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises +ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_is_block_device_raises ... 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.TestService.test_invalid_requests -ironic_lib.tests.test_json_rpc.TestService.test_invalid_requests ... ok -ironic_lib.tests.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found -ironic_lib.tests.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_not_found ... ok +ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works +ironic_lib.tests.test_disk_utils.OtherFunctionTestCase.test_is_block_device_works ... 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 ERROR [ironic_lib.json_rpc.client] Unexpected error from RPC: {'code': 500, 'message': 'AttributeError'} -ironic_lib.tests.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt -ironic_lib.tests.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_gpt ... ok +ironic_lib.tests.test_disk_utils.PopulateImageTestCase.test_populate_qcow2_image +ironic_lib.tests.test_disk_utils.PopulateImageTestCase.test_populate_qcow2_image ... 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_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr -ironic_lib.tests.test_disk_utils.FindEfiPartitionTestCase.test_find_efi_partition_only_boot_flag_mbr ... ok +ironic_lib.tests.test_disk_utils.PopulateImageTestCase.test_populate_raw_image +ironic_lib.tests.test_disk_utils.PopulateImageTestCase.test_populate_raw_image ... 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.TestService.test_malformed_context -ironic_lib.tests.test_json_rpc.TestService.test_malformed_context ... ok -ironic_lib.tests.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc -ironic_lib.tests.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_exc ... ok -ironic_lib.tests.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required -ironic_lib.tests.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_not_required ... 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_mdns.GetEndpointTestCase.test_invalid_key -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_invalid_key ... ok -ironic_lib.tests.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_required -ironic_lib.tests.test_disk_utils.FixGptStructsTestCases.test_fix_gpt_structs_fix_required ... ok -ironic_lib.tests.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt -ironic_lib.tests.test_disk_utils.GetPartitionTableTypeTestCase.test_gpt ... ok - WARNING [ironic_lib.disk_utils] Unable to get partition table type for device hello -ironic_lib.tests.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos -ironic_lib.tests.test_disk_utils.GetPartitionTableTypeTestCase.test_msdos ... ok +ironic_lib.tests.test_disk_utils.PopulateImageTestCase.test_populate_raw_image_with_convert +ironic_lib.tests.test_disk_utils.PopulateImageTestCase.test_populate_raw_image_with_convert ... 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_disk_utils.GetPartitionTableTypeTestCase.test_unknown -ironic_lib.tests.test_disk_utils.GetPartitionTableTypeTestCase.test_unknown ... 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_json_rpc.TestClient.test_cast_success ironic_lib.tests.test_json_rpc.TestClient.test_cast_success ... ok -ironic_lib.tests.test_disk_utils.PopulateImageTestCase.test_populate_qcow2_image -ironic_lib.tests.test_disk_utils.PopulateImageTestCase.test_populate_qcow2_image ... 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_disk_utils.PopulateImageTestCase.test_populate_raw_image -ironic_lib.tests.test_disk_utils.PopulateImageTestCase.test_populate_raw_image ... 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.TestClient.test_mask_secrets ironic_lib.tests.test_json_rpc.TestClient.test_mask_secrets ... ok -ironic_lib.tests.test_disk_utils.PopulateImageTestCase.test_populate_raw_image_with_convert -ironic_lib.tests.test_disk_utils.PopulateImageTestCase.test_populate_raw_image_with_convert ... 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_json_rpc.TestSession.test_http_basic -ironic_lib.tests.test_json_rpc.TestSession.test_http_basic ... 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.TestSession.test_http_basic_deprecated -ironic_lib.tests.test_json_rpc.TestSession.test_http_basic_deprecated ... 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_json_rpc.TestSession.test_keystone -ironic_lib.tests.test_json_rpc.TestSession.test_keystone ... 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_json_rpc.TestSession.test_noauth -ironic_lib.tests.test_json_rpc.TestSession.test_noauth ... 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_not_found -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_not_found ... 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 - 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_metrics_statsd.TestStatsdMetricLogger.test_init -ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_init ... 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_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_json_rpc.TestService.test_notification -ironic_lib.tests.test_json_rpc.TestService.test_notification ... ok -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_simple -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_simple ... ok -ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_timer -ironic_lib.tests.test_metrics_statsd.TestStatsdMetricLogger.test_timer ... 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_json_rpc.TestService.test_success -ironic_lib.tests.test_json_rpc.TestService.test_success ... 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_json_rpc.TestService.test_success_no_result -ironic_lib.tests.test_json_rpc.TestService.test_success_no_result ... 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_mdns.GetEndpointTestCase.test_skip_invalid -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_skip_invalid ... 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_json_rpc.TestService.test_unexpected_failure -ironic_lib.tests.test_json_rpc.TestService.test_unexpected_failure ... 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_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist -ironic_lib.tests.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist ... 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_qemu_img.ImageInfoTestCase.test_image_info_path_exists -ironic_lib.tests.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists ... 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_mdns.GetEndpointTestCase.test_v6 -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_v6 ... 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.TestService.test_expected_failure +ironic_lib.tests.test_json_rpc.TestService.test_expected_failure ... 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_metrics_collector.TestDictCollectionMetricLogger.test_timer +ironic_lib.tests.test_metrics_collector.TestDictCollectionMetricLogger.test_timer ... 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_utils.MatchRootDeviceTestCase.test_find_devices_all ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_find_devices_all ... 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_qemu_img.ConvertImageTestCase.test_convert_image -ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image ... ok + ERROR [ironic_lib.keystone] Failed to load auth plugin from group test_group +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_utils.MatchRootDeviceTestCase.test_find_devices_name ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_find_devices_name ... ok -ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_flags -ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_flags ... 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_utils.MatchRootDeviceTestCase.test_find_devices_none ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_find_devices_none ... ok -ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails -ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails ... 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_qemu_img.ConvertImageTestCase.test_convert_image_retries -ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_retries ... 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_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints ... 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_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error -ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error ... ok -ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails -ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails ... 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_multiple_hints2 ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 ... 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 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_json_rpc.TestService.test_http_basic_not_authenticated +ironic_lib.tests.test_json_rpc.TestService.test_http_basic_not_authenticated ... ok WARNING [ironic_lib.utils] No device found that matches the root device hints {'size': '>=50', 'model': 's==foo'} -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_match_root_device_hints_no_device_found ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found ... 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_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.ExecuteTestCase.test_execute_command_not_found -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_command_not_found ... 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_json_rpc.TestService.test_invalid_requests +ironic_lib.tests.test_json_rpc.TestService.test_invalid_requests ... 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_one_hint ironic_lib.tests.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint ... 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.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.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_keystone.KeystoneTestCase.test_get_service_auth +ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_service_auth ... 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_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_keystone.KeystoneTestCase.test_get_session +ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_session ... ok ironic_lib.tests.test_utils.MkfsTestCase.test_mkfs ironic_lib.tests.test_utils.MkfsTestCase.test_mkfs ... ok -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_params -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_params ... ok ironic_lib.tests.test_utils.MkfsTestCase.test_mkfs_with_label ironic_lib.tests.test_utils.MkfsTestCase.test_mkfs_with_label ... 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 ERROR [ironic_lib.utils] Failed to create a file system in /my/block/dev. Error: Unexpected error while running command. Command: None Exit code: - @@ -2057,6 +1961,8 @@ 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_json_rpc.TestService.test_malformed_context +ironic_lib.tests.test_json_rpc.TestService.test_malformed_context ... 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-6.2.0/ironic_lib/utils.py", line 170, in mkfs @@ -2077,10 +1983,6 @@ Stderr: 'No such file or directory' 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.ExecuteTestCase.test_execute_with_log_stdout_false -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false ... 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_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. @@ -2088,71 +1990,174 @@ Exit code: - Stdout: None Stderr: None -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.MountedTestCase.test_failed_to_unmount ironic_lib.tests.test_utils.MountedTestCase.test_failed_to_unmount ... 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_temporary ironic_lib.tests.test_utils.MountedTestCase.test_temporary ... 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_utils.ExecuteTestCase.test_execute_with_log_stdout_true -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_log_stdout_true ... ok - ERROR [ironic_lib.keystone] Failed to load auth plugin from group test_group -ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_auth -ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_auth ... ok -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_root_helper -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_root_helper ... ok -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_root_helper_run_as_root -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_root_helper_run_as_root ... ok -ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_auth_fail -ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_auth_fail ... ok + ERROR [ironic_lib.auth_basic] Problem reading auth user file: [Errno 2] No such file or directory: '/tmp/tmpv0mk00ft/tmpxcsagec6.missing' +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.MountedTestCase.test_with_dest ironic_lib.tests.test_utils.MountedTestCase.test_with_dest ... ok -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_without_root_helper -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_without_root_helper ... ok -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_without_root_helper_run_as_root -ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_without_root_helper_run_as_root ... ok +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_with_opts ironic_lib.tests.test_utils.MountedTestCase.test_with_opts ... ok -ironic_lib.tests.test_utils.ParseDeviceTagsTestCase.test_empty -ironic_lib.tests.test_utils.ParseDeviceTagsTestCase.test_empty ... 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_basic_auth.TestAuthBasic.test_middleware_unauthenticated +ironic_lib.tests.test_basic_auth.TestAuthBasic.test_middleware_unauthenticated ... ok ironic_lib.tests.test_utils.MountedTestCase.test_with_type ironic_lib.tests.test_utils.MountedTestCase.test_with_type ... ok -ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_service_auth -ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_service_auth ... ok -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_server -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_server ... ok -ironic_lib.tests.test_utils.ParseDeviceTagsTestCase.test_parse -ironic_lib.tests.test_utils.ParseDeviceTagsTestCase.test_parse ... ok -ironic_lib.tests.test_utils.WaitForDisk.test_wait_for_disk_to_become_available -ironic_lib.tests.test_utils.WaitForDisk.test_wait_for_disk_to_become_available ... ok -ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_session -ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_session ... 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_json_rpc.TestService.test_method_not_found +ironic_lib.tests.test_json_rpc.TestService.test_method_not_found ... 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_basic_auth.TestAuthBasic.test_unauthorized +ironic_lib.tests.test_basic_auth.TestAuthBasic.test_unauthorized ... 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_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata +ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata ... ok +ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 +ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_4096 ... 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_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr +ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_ebr ... ok +ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_sgdisk_fail +ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_sgdisk_fail ... ok +ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_tiny_partition +ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_tiny_partition ... ok +ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_fail +ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_fail ... ok +ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force +ironic_lib.tests.test_disk_utils.DestroyMetaDataTestCase.test_destroy_disk_metadata_wipefs_not_support_force ... 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_json_rpc.TestService.test_missing_argument +ironic_lib.tests.test_json_rpc.TestService.test_missing_argument ... 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_mdns.GetEndpointTestCase.test_binary_data +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_binary_data ... 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_json_rpc.TestService.test_no_context +ironic_lib.tests.test_json_rpc.TestService.test_no_context ... 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_json_rpc.TestSession.test_keystone +ironic_lib.tests.test_json_rpc.TestSession.test_keystone ... 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_json_rpc.TestSession.test_noauth +ironic_lib.tests.test_json_rpc.TestSession.test_noauth ... 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 + WARNING [ironic_lib.mdns] None of addresses ['::2', '::3'] seem routable, using ::2 +ironic_lib.tests.test_json_rpc.TestService.test_success +ironic_lib.tests.test_json_rpc.TestService.test_success ... 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_success_no_result +ironic_lib.tests.test_json_rpc.TestService.test_success_no_result ... 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.ParseEndpointTestCase.test_resolve ironic_lib.tests.test_mdns.ParseEndpointTestCase.test_resolve ... ok -ironic_lib.tests.test_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_busybox -ironic_lib.tests.test_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_busybox ... 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_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_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 +ironic_lib.tests.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist +ironic_lib.tests.test_qemu_img.ImageInfoTestCase.test_image_info_path_doesnt_exist ... ok +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_https +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_https ... ok +ironic_lib.tests.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists +ironic_lib.tests.test_qemu_img.ImageInfoTestCase.test_image_info_path_exists ... ok +ironic_lib.tests.test_utils.BareMetalUtilsTestCase.test_unlink +ironic_lib.tests.test_utils.BareMetalUtilsTestCase.test_unlink ... ok + WARNING [ironic_lib.utils] Failed to unlink /fake/path, error: 2 +ironic_lib.tests.test_utils.BareMetalUtilsTestCase.test_unlink_ENOENT +ironic_lib.tests.test_utils.BareMetalUtilsTestCase.test_unlink_ENOENT ... 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.ExecuteTestCase.test_execute_not_use_standard_locale +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_failure +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_failure ... 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.ExecuteTestCase.test_execute_with_log_stdout_default +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default ... 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.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.ExecuteTestCase.test_execute_with_root_helper +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_root_helper ... ok +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_root_helper_run_as_root +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_with_root_helper_run_as_root ... ok +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_without_root_helper +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_without_root_helper ... ok +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_without_root_helper_run_as_root +ironic_lib.tests.test_utils.ExecuteTestCase.test_execute_without_root_helper_run_as_root ... 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_mdns.GetEndpointTestCase.test_invalid_key +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_invalid_key ... 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.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.WaitForDisk.test_wait_for_disk_to_become_available +ironic_lib.tests.test_utils.WaitForDisk.test_wait_for_disk_to_become_available ... ok +ironic_lib.tests.test_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_busybox +ironic_lib.tests.test_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_busybox ... ok ironic_lib.tests.test_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_psmisc ironic_lib.tests.test_utils.WaitForDisk.test_wait_for_disk_to_become_available_dev_becomes_avail_psmisc ... 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_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_busybox ironic_lib.tests.test_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_busybox ... 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_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_psmisc ironic_lib.tests.test_utils.WaitForDisk.test_wait_for_disk_to_become_available_device_in_use_psmisc ... ok -ironic_lib.tests.test_metrics.TestMetricLogger.test_context_mgr_timer -ironic_lib.tests.test_metrics.TestMetricLogger.test_context_mgr_timer ... ok -ironic_lib.tests.test_metrics.TestMetricLogger.test_decorator_counter -ironic_lib.tests.test_metrics.TestMetricLogger.test_decorator_counter ... ok ironic_lib.tests.test_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_device ironic_lib.tests.test_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_device ... ok WARNING [ironic_lib.utils] Failed to check the device fake-dev with fuser: Unexpected error while running command. @@ -2160,17 +2165,71 @@ Exit code: - Stdout: None Stderr: 'fake' -ironic_lib.tests.test_metrics.TestMetricLogger.test_decorator_counter_sample_rate -ironic_lib.tests.test_metrics.TestMetricLogger.test_decorator_counter_sample_rate WARNING [ironic_lib.utils] Failed to check the device fake-dev with fuser: Unexpected error while running command. +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_ok +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_ok ... WARNING [ironic_lib.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_lib.tests.test_metrics.TestMetricLogger.test_decorator_gauge -ironic_lib.tests.test_metrics.TestMetricLogger.test_decorator_gauge ... ok +ok ironic_lib.tests.test_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser ironic_lib.tests.test_utils.WaitForDisk.test_wait_for_disk_to_become_available_no_fuser ... ok +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_localhost_only +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_localhost_only ... ok +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_interfaces +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_interfaces ... 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.RegisterServiceTestCase.test_with_params +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_params ... ok +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_simple +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_simple ... ok +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_race +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_race ... 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_qemu_img.ConvertImageTestCase.test_convert_image +ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image ... ok +ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_flags +ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_flags ... ok +ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails +ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails ... ok +ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_retries +ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_retries ... ok +ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error +ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error ... ok +ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails +ironic_lib.tests.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails ... 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.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 +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_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 +ironic_lib.tests.test_metrics.TestMetricLogger.test_context_mgr_timer ... ok +ironic_lib.tests.test_metrics.TestMetricLogger.test_decorator_counter +ironic_lib.tests.test_metrics.TestMetricLogger.test_decorator_counter ... ok +ironic_lib.tests.test_metrics.TestMetricLogger.test_decorator_counter_sample_rate +ironic_lib.tests.test_metrics.TestMetricLogger.test_decorator_counter_sample_rate ... ok +ironic_lib.tests.test_metrics.TestMetricLogger.test_decorator_gauge +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_metrics.TestMetricLogger.test_get_metric_name @@ -2183,14 +2242,30 @@ 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_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.IsHttpUrlTestCase.test_is_http_url -ironic_lib.tests.test_utils.IsHttpUrlTestCase.test_is_http_url ... 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.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_utils.ParseRootDeviceTestCase.test__append_operator_to_hints ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test__append_operator_to_hints ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value @@ -2231,8 +2306,6 @@ ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_by_path ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_hctl ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_hctl ... 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_model ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_model ... ok ironic_lib.tests.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_name @@ -2263,50 +2336,24 @@ 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_mdns.RegisterServiceTestCase.test_ok -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_ok ... ok -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_interfaces -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_interfaces ... ok -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_params -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_params ... ok -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_race -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_race ... 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_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.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.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed -ironic_lib.tests.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed ... ok ---------------------------------------------------------------------- -Ran 283 tests in 61.892s +Ran 283 tests in 16.320s OK + stestr slowest -Test id Runtime (s) --------------------------------------------------------------------------------------- ----------- -ironic_lib.tests.test_keystone.AuthConfTestCase.test_add_auth_opts 3.139 -ironic_lib.tests.test_basic_auth.TestAuthBasic.test_auth_entry 0.809 -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_server 0.714 -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_custom_port_path_and_protocol 0.488 -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_failure 0.479 -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_custom_port_and_path 0.459 -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_with_params 0.448 -ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_ok 0.440 -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_v6 0.424 -ironic_lib.tests.test_mdns.GetEndpointTestCase.test_skip_invalid 0.400 +Test id Runtime (s) +---------------------------------------------------------------------------- ----------- +ironic_lib.tests.test_basic_auth.TestAuthBasic.test_auth_entry 0.576 +ironic_lib.tests.test_keystone.KeystoneTestCase.test_get_adapter_from_config 0.378 +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_with_params 0.304 +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_invalid_key 0.275 +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_ok 0.252 +ironic_lib.tests.test_keystone.AuthConfTestCase.test_add_auth_opts 0.211 +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_binary_data 0.195 +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_fallback 0.171 +ironic_lib.tests.test_mdns.GetEndpointTestCase.test_https 0.170 +ironic_lib.tests.test_mdns.RegisterServiceTestCase.test_failure 0.164 + rm -rf .stestr make[1]: Leaving directory '/build/reproducible-path/python-ironic-lib-6.2.0' debian/rules override_dh_install @@ -2340,14 +2387,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 \ @@ -2356,7 +2403,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-6.2.0' @@ -2389,12 +2436,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/14818/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/14818/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/10483 and its subdirectories -I: Current time: Fri Oct 18 06:43:22 -12 2024 -I: pbuilder-time-stamp: 1729277002 +I: removing directory /srv/workspace/pbuilder/14818 and its subdirectories +I: Current time: Sat Oct 19 08:49:00 +14 2024 +I: pbuilder-time-stamp: 1729277340