Mock Version: 4.1
Mock Version: 4.1
Mock Version: 4.1
ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/openstack-ironic-python-agent.spec'], chrootPath='/var/lib/mock/dist-ocs23-rebuild-test-0-build-230623-18118/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0xffffb503b810>timeout=86400uid=981gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False)
Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/openstack-ironic-python-agent.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False
Building target platforms: noarch
Building for target noarch
Wrote: /builddir/build/SRPMS/openstack-ironic-python-agent-9.1.0-2.ocs23.src.rpm
Child return code was: 0
ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --noclean --target noarch --nodeps /builddir/build/SPECS/openstack-ironic-python-agent.spec'], chrootPath='/var/lib/mock/dist-ocs23-rebuild-test-0-build-230623-18118/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0xffffb503b810>timeout=86400uid=981gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False)
Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --noclean --target noarch --nodeps /builddir/build/SPECS/openstack-ironic-python-agent.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False
Building target platforms: noarch
Building for target noarch
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.099tH9
+ umask 022
+ cd /builddir/build/BUILD
+ cd /builddir/build/BUILD
+ rm -rf ironic-python-agent-9.1.0
+ /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/ironic-python-agent-9.1.0.tar.gz
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd ironic-python-agent-9.1.0
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/0001-Fix-create-configuration-unit-tests.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ rm -rf plugin-requirements.txt requirements.txt test-requirements.txt
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.GmVPMa
+ umask 022
+ cd /builddir/build/BUILD
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection'
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection'
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules'
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules'
+ export FCFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-ld  -Wl,--build-id=sha1'
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd ironic-python-agent-9.1.0
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection'
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-ld  -Wl,--build-id=sha1'
+ /usr/bin/python3 setup.py build '--executable=/usr/bin/python3 -s'
/usr/lib/python3.11/site-packages/setuptools/__init__.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!
        ********************************************************************************
        Requirements should be satisfied by a PEP 517 installer.
        If you are using pip, you can try `pip install --use-pep517`.
        ********************************************************************************
!!
  dist.fetch_build_eggs(dist.setup_requires)
WARNING: The wheel package is not available.
/usr/lib/python3.11/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!
        ********************************************************************************
        Please avoid running ``setup.py`` and ``easy_install``.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.
        See https://github.com/pypa/setuptools/issues/917 for details.
        ********************************************************************************
!!
  easy_install.initialize_options(self)
/usr/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!
        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.
        Follow the current Python packaging guidelines when building
        Python RPM packages.
        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html
        and https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/ for details.
        ********************************************************************************
!!
  self.initialize_options()
running build
running build_py
creating build
creating build/lib
creating build/lib/ironic_python_agent
creating build/lib/ironic_python_agent/hardware_managers
copying ironic_python_agent/hardware_managers/cna.py -> build/lib/ironic_python_agent/hardware_managers
copying ironic_python_agent/hardware_managers/mlnx.py -> build/lib/ironic_python_agent/hardware_managers
copying ironic_python_agent/hardware_managers/__init__.py -> build/lib/ironic_python_agent/hardware_managers
creating build/lib/ironic_python_agent/tests
copying ironic_python_agent/tests/__init__.py -> build/lib/ironic_python_agent/tests
creating build/lib/ironic_python_agent/extensions
copying ironic_python_agent/extensions/image.py -> build/lib/ironic_python_agent/extensions
copying ironic_python_agent/extensions/deploy.py -> build/lib/ironic_python_agent/extensions
copying ironic_python_agent/extensions/base.py -> build/lib/ironic_python_agent/extensions
copying ironic_python_agent/extensions/log.py -> build/lib/ironic_python_agent/extensions
copying ironic_python_agent/extensions/poll.py -> build/lib/ironic_python_agent/extensions
copying ironic_python_agent/extensions/clean.py -> build/lib/ironic_python_agent/extensions
copying ironic_python_agent/extensions/rescue.py -> build/lib/ironic_python_agent/extensions
copying ironic_python_agent/extensions/standby.py -> build/lib/ironic_python_agent/extensions
copying ironic_python_agent/extensions/__init__.py -> build/lib/ironic_python_agent/extensions
copying ironic_python_agent/extensions/flow.py -> build/lib/ironic_python_agent/extensions
copying ironic_python_agent/agent.py -> build/lib/ironic_python_agent
copying ironic_python_agent/inject_files.py -> build/lib/ironic_python_agent
copying ironic_python_agent/tls_utils.py -> build/lib/ironic_python_agent
copying ironic_python_agent/netutils.py -> build/lib/ironic_python_agent
copying ironic_python_agent/version.py -> build/lib/ironic_python_agent
copying ironic_python_agent/hardware.py -> build/lib/ironic_python_agent
copying ironic_python_agent/utils.py -> build/lib/ironic_python_agent
copying ironic_python_agent/inspector.py -> build/lib/ironic_python_agent
copying ironic_python_agent/numa_inspector.py -> build/lib/ironic_python_agent
copying ironic_python_agent/raid_utils.py -> build/lib/ironic_python_agent
copying ironic_python_agent/config.py -> build/lib/ironic_python_agent
copying ironic_python_agent/encoding.py -> build/lib/ironic_python_agent
copying ironic_python_agent/burnin.py -> build/lib/ironic_python_agent
copying ironic_python_agent/errors.py -> build/lib/ironic_python_agent
copying ironic_python_agent/partition_utils.py -> build/lib/ironic_python_agent
copying ironic_python_agent/ironic_api_client.py -> build/lib/ironic_python_agent
copying ironic_python_agent/inspect.py -> build/lib/ironic_python_agent
copying ironic_python_agent/efi_utils.py -> build/lib/ironic_python_agent
copying ironic_python_agent/dmi_inspector.py -> build/lib/ironic_python_agent
copying ironic_python_agent/__init__.py -> build/lib/ironic_python_agent
creating build/lib/ironic_python_agent/cmd
copying ironic_python_agent/cmd/agent.py -> build/lib/ironic_python_agent/cmd
copying ironic_python_agent/cmd/inspect.py -> build/lib/ironic_python_agent/cmd
copying ironic_python_agent/cmd/__init__.py -> build/lib/ironic_python_agent/cmd
creating build/lib/ironic_python_agent/api
copying ironic_python_agent/api/app.py -> build/lib/ironic_python_agent/api
copying ironic_python_agent/api/__init__.py -> build/lib/ironic_python_agent/api
creating build/lib/ironic_python_agent/tests/unit
creating build/lib/ironic_python_agent/tests/unit/hardware_managers
copying ironic_python_agent/tests/unit/hardware_managers/test_cna.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers
copying ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers
copying ironic_python_agent/tests/unit/hardware_managers/__init__.py -> build/lib/ironic_python_agent/tests/unit/hardware_managers
creating build/lib/ironic_python_agent/tests/unit/extensions
copying ironic_python_agent/tests/unit/extensions/test_poll.py -> build/lib/ironic_python_agent/tests/unit/extensions
copying ironic_python_agent/tests/unit/extensions/test_deploy.py -> build/lib/ironic_python_agent/tests/unit/extensions
copying ironic_python_agent/tests/unit/extensions/test_image.py -> build/lib/ironic_python_agent/tests/unit/extensions
copying ironic_python_agent/tests/unit/extensions/test_log.py -> build/lib/ironic_python_agent/tests/unit/extensions
copying ironic_python_agent/tests/unit/extensions/test_flow.py -> build/lib/ironic_python_agent/tests/unit/extensions
copying ironic_python_agent/tests/unit/extensions/test_standby.py -> build/lib/ironic_python_agent/tests/unit/extensions
copying ironic_python_agent/tests/unit/extensions/test_clean.py -> build/lib/ironic_python_agent/tests/unit/extensions
copying ironic_python_agent/tests/unit/extensions/test_base.py -> build/lib/ironic_python_agent/tests/unit/extensions
copying ironic_python_agent/tests/unit/extensions/__init__.py -> build/lib/ironic_python_agent/tests/unit/extensions
copying ironic_python_agent/tests/unit/extensions/test_rescue.py -> build/lib/ironic_python_agent/tests/unit/extensions
copying ironic_python_agent/tests/unit/test_api.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_encoding.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_multi_hardware.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_tls_utils.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/base.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_partition_utils.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_efi_utils.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_inject_files.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_utils.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_netutils.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_inspector.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_agent.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/dmi_inspector_data.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_burnin.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_raid_utils.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_ironic_api_client.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_numa_inspector.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_base.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/__init__.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_hardware.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_errors.py -> build/lib/ironic_python_agent/tests/unit
copying ironic_python_agent/tests/unit/test_dmi_inspector.py -> build/lib/ironic_python_agent/tests/unit
creating build/lib/ironic_python_agent/tests/functional
copying ironic_python_agent/tests/functional/base.py -> build/lib/ironic_python_agent/tests/functional
copying ironic_python_agent/tests/functional/test_commands.py -> build/lib/ironic_python_agent/tests/functional
copying ironic_python_agent/tests/functional/__init__.py -> build/lib/ironic_python_agent/tests/functional
running egg_info
writing ironic_python_agent.egg-info/PKG-INFO
writing dependency_links to ironic_python_agent.egg-info/dependency_links.txt
writing entry points to ironic_python_agent.egg-info/entry_points.txt
writing requirements to ironic_python_agent.egg-info/requires.txt
writing top-level names to ironic_python_agent.egg-info/top_level.txt
[pbr] Reusing existing SOURCES.txt
/usr/lib/python3.11/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'ironic_python_agent.tests.unit.samples' is absent from the `packages` configuration.
!!
        ********************************************************************************
        ############################
        # Package would be ignored #
        ############################
        Python recognizes 'ironic_python_agent.tests.unit.samples' as an importable package[^1],
        but it is absent from setuptools' `packages` configuration.
        This leads to an ambiguous overall configuration. If you want to distribute this
        package, please make sure that 'ironic_python_agent.tests.unit.samples' is explicitly added
        to the `packages` configuration field.
        Alternatively, you can also rely on setuptools' discovery methods
        (for example by using `find_namespace_packages(...)`/`find_namespace:`
        instead of `find_packages(...)`/`find:`).
        You can read more about "package discovery" on setuptools documentation page:
        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
        If you don't want 'ironic_python_agent.tests.unit.samples' to be distributed and are
        already explicitly excluding 'ironic_python_agent.tests.unit.samples' via
        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
        you can try to use `exclude_package_data`, or `include-package-data=False` in
        combination with a more fine grained `package-data` configuration.
        You can read more about "package data files" on setuptools documentation page:
        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
        [^1]: For Python, any directory (with suitable naming) can be imported,
              even if it does not contain any `.py` files.
              On the other hand, currently there is no concept of package data
              directory, all directories are treated like packages.
        ********************************************************************************
!!
  check.warn(importable)
creating build/lib/ironic_python_agent/tests/unit/samples
copying ironic_python_agent/tests/unit/samples/hardware_samples.py -> build/lib/ironic_python_agent/tests/unit/samples
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.oXLChN
+ umask 022
+ cd /builddir/build/BUILD
+ '[' /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch '!=' / ']'
+ rm -rf /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch
++ dirname /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch
+ mkdir -p /builddir/build/BUILDROOT
+ mkdir /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch
+ cd ironic-python-agent-9.1.0
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection'
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-ld  -Wl,--build-id=sha1'
+ /usr/bin/python3 setup.py install -O1 --skip-build --root /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch
/usr/lib/python3.11/site-packages/setuptools/__init__.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!
        ********************************************************************************
        Requirements should be satisfied by a PEP 517 installer.
        If you are using pip, you can try `pip install --use-pep517`.
        ********************************************************************************
!!
  dist.fetch_build_eggs(dist.setup_requires)
WARNING: The wheel package is not available.
/usr/lib/python3.11/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!
        ********************************************************************************
        Please avoid running ``setup.py`` and ``easy_install``.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.
        See https://github.com/pypa/setuptools/issues/917 for details.
        ********************************************************************************
!!
  easy_install.initialize_options(self)
/usr/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!
        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.
        Follow the current Python packaging guidelines when building
        Python RPM packages.
        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html
        and https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/ for details.
        ********************************************************************************
!!
  self.initialize_options()
running install
[pbr] Generating AUTHORS
[pbr] AUTHORS complete (0.0s)
running install_lib
creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr
creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib
creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11
creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages
creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
copying build/lib/ironic_python_agent/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
copying build/lib/ironic_python_agent/inject_files.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
copying build/lib/ironic_python_agent/tls_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
copying build/lib/ironic_python_agent/netutils.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
copying build/lib/ironic_python_agent/version.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/hardware_managers
copying build/lib/ironic_python_agent/hardware_managers/cna.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/hardware_managers
copying build/lib/ironic_python_agent/hardware_managers/mlnx.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/hardware_managers
copying build/lib/ironic_python_agent/hardware_managers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/hardware_managers
creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/api
copying build/lib/ironic_python_agent/api/app.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/api
copying build/lib/ironic_python_agent/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/api
copying build/lib/ironic_python_agent/hardware.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
copying build/lib/ironic_python_agent/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
copying build/lib/ironic_python_agent/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
copying build/lib/ironic_python_agent/numa_inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
copying build/lib/ironic_python_agent/raid_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
copying build/lib/ironic_python_agent/config.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
copying build/lib/ironic_python_agent/encoding.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
copying build/lib/ironic_python_agent/burnin.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/cmd
copying build/lib/ironic_python_agent/cmd/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/cmd
copying build/lib/ironic_python_agent/cmd/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/cmd
copying build/lib/ironic_python_agent/cmd/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/cmd
copying build/lib/ironic_python_agent/errors.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
copying build/lib/ironic_python_agent/partition_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
copying build/lib/ironic_python_agent/ironic_api_client.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests
creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_api.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_encoding.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/hardware_managers
copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_cna.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/hardware_managers
copying build/lib/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/hardware_managers
copying build/lib/ironic_python_agent/tests/unit/hardware_managers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/hardware_managers
creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/samples
copying build/lib/ironic_python_agent/tests/unit/samples/hardware_samples.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/samples
copying build/lib/ironic_python_agent/tests/unit/test_multi_hardware.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_tls_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/base.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_partition_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_efi_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_inject_files.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_netutils.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_agent.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/dmi_inspector_data.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_burnin.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_raid_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_ironic_api_client.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_numa_inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_poll.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_image.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_log.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_flow.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_standby.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_clean.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/extensions/test_rescue.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions
copying build/lib/ironic_python_agent/tests/unit/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_hardware.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_errors.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
copying build/lib/ironic_python_agent/tests/unit/test_dmi_inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit
creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/functional
copying build/lib/ironic_python_agent/tests/functional/base.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/functional
copying build/lib/ironic_python_agent/tests/functional/test_commands.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/functional
copying build/lib/ironic_python_agent/tests/functional/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/functional
copying build/lib/ironic_python_agent/tests/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests
copying build/lib/ironic_python_agent/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/image.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/base.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/log.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/poll.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/clean.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/rescue.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/standby.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/extensions/flow.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions
copying build/lib/ironic_python_agent/efi_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
copying build/lib/ironic_python_agent/dmi_inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
copying build/lib/ironic_python_agent/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/agent.py to agent.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/inject_files.py to inject_files.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tls_utils.py to tls_utils.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/netutils.py to netutils.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/version.py to version.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/hardware_managers/cna.py to cna.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/hardware_managers/mlnx.py to mlnx.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/hardware_managers/__init__.py to __init__.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/api/app.py to app.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/api/__init__.py to __init__.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/hardware.py to hardware.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/utils.py to utils.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/inspector.py to inspector.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/numa_inspector.py to numa_inspector.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/raid_utils.py to raid_utils.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/config.py to config.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/encoding.py to encoding.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/burnin.py to burnin.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/cmd/agent.py to agent.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/cmd/inspect.py to inspect.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/cmd/__init__.py to __init__.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/errors.py to errors.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/partition_utils.py to partition_utils.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/ironic_api_client.py to ironic_api_client.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_api.py to test_api.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_encoding.py to test_encoding.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_multi_hardware_clean_steps.py to test_multi_hardware_clean_steps.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/hardware_managers/test_cna.py to test_cna.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/hardware_managers/test_mlnx.py to test_mlnx.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/hardware_managers/__init__.py to __init__.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/samples/hardware_samples.py to hardware_samples.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_multi_hardware.py to test_multi_hardware.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_tls_utils.py to test_tls_utils.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/base.py to base.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_partition_utils.py to test_partition_utils.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_efi_utils.py to test_efi_utils.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_inject_files.py to test_inject_files.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_utils.py to test_utils.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_netutils.py to test_netutils.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_inspector.py to test_inspector.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_agent.py to test_agent.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/dmi_inspector_data.py to dmi_inspector_data.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_burnin.py to test_burnin.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_raid_utils.py to test_raid_utils.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_ironic_api_client.py to test_ironic_api_client.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_numa_inspector.py to test_numa_inspector.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions/test_poll.py to test_poll.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions/test_deploy.py to test_deploy.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions/test_image.py to test_image.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions/test_log.py to test_log.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions/test_flow.py to test_flow.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions/test_standby.py to test_standby.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions/test_clean.py to test_clean.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions/test_base.py to test_base.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions/__init__.py to __init__.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/extensions/test_rescue.py to test_rescue.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_base.py to test_base.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/__init__.py to __init__.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_hardware.py to test_hardware.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_errors.py to test_errors.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit/test_dmi_inspector.py to test_dmi_inspector.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/functional/base.py to base.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/functional/test_commands.py to test_commands.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/functional/__init__.py to __init__.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/__init__.py to __init__.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/inspect.py to inspect.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions/image.py to image.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions/deploy.py to deploy.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions/base.py to base.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions/log.py to log.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions/poll.py to poll.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions/clean.py to clean.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions/rescue.py to rescue.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions/standby.py to standby.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions/__init__.py to __init__.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/extensions/flow.py to flow.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/efi_utils.py to efi_utils.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/dmi_inspector.py to dmi_inspector.cpython-311.pyc
byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/__init__.py to __init__.cpython-311.pyc
writing byte-compilation script '/tmp/tmp49acbctx.py'
/usr/bin/python3 /tmp/tmp49acbctx.py
removing /tmp/tmp49acbctx.py
running install_egg_info
running egg_info
writing ironic_python_agent.egg-info/PKG-INFO
writing dependency_links to ironic_python_agent.egg-info/dependency_links.txt
writing entry points to ironic_python_agent.egg-info/entry_points.txt
writing requirements to ironic_python_agent.egg-info/requires.txt
writing top-level names to ironic_python_agent.egg-info/top_level.txt
[pbr] Reusing existing SOURCES.txt
Copying ironic_python_agent.egg-info to /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent-9.1.0-py3.11.egg-info
running install_scripts
Installing ironic-collect-introspection-data script to /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/bin
Installing ironic-python-agent script to /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/bin
+ rm -rfv /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/bin/__pycache__
+ mkdir -p /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/systemd/system
+ install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-python-agent.service /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/systemd/system
+ install -p -D -m 640 /builddir/build/SOURCES/ironic-python-agent-dist.conf /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch//etc/ironic-python-agent/ironic-python-agent-dist.conf
+ /usr/bin/find-debuginfo -j8 --strict-build-id -m -i --build-id-seed 9.1.0-2.ocs23 --unique-debug-suffix -9.1.0-2.ocs23.noarch --unique-debug-src-base openstack-ironic-python-agent-9.1.0-2.ocs23.noarch -S debugsourcefiles.list /builddir/build/BUILD/ironic-python-agent-9.1.0
find: 'debug': No such file or directory
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/OpenCloudOS/brp-ldconfig
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/OpenCloudOS/brp-strip-lto /usr/bin/strip
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/check-rpaths
+ /usr/lib/rpm/OpenCloudOS/brp-mangle-shebangs
+ /usr/lib/rpm/OpenCloudOS/brp-python-bytecompile '' 1 0
Bytecompiling .py files below /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/lib/python3.11 using python3.11
+ /usr/lib/rpm/OpenCloudOS/brp-python-hardlink
Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.2f9E4H
+ umask 022
+ cd /builddir/build/BUILD
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection'
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection'
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules'
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules'
+ export FCFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-ld  -Wl,--build-id=sha1'
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd ironic-python-agent-9.1.0
+ export PYTHON=/usr/bin/python3
+ PYTHON=/usr/bin/python3
+ stestr --test-path ironic_python_agent/tests/unit run
   ERROR [root] Tried to execute fake.fake_sync_command, agent is still executing Command name: name, params: {}, status: RUNNING, result: None.
{3} ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_busy [0.007569s] ... ok
{3} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_name [0.003499s] ... ok
   ERROR [root] Error performing clean step erase_devices
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot
   ERROR [root] Command failed: execute_clean_step, error: Block device caused unknown error: I'm a teapot
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot
{3} ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail [0.013622s] ... ok
   ERROR [root] Malformed deploy_step, no "step" key: {}
   ERROR [root] Command failed: execute_deploy_step, error: Malformed deploy_step, no "step" key: {}
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/deploy.py", line 73, in execute_deploy_step
    raise ValueError(msg)
ValueError: Malformed deploy_step, no "step" key: {}
{3} ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step [0.015828s] ... ok
{3} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep [0.008319s] ... ok
   ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow
{3} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override [0.020437s] ... ok
   ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None.
 WARNING [ironic_python_agent.extensions.image] Unable to umount vfat partitions. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
{3} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail [0.018971s] ... ok
{2} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success [0.011130s] ... ok
 WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/dev. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/proc. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/run. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_python_agent.extensions.image] Unable to umount /tmp/fake-dir/sys. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
   ERROR [root] Unexpected exception performing clean step erase_devices. RuntimeError: boom
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
RuntimeError: boom
   ERROR [root] Command failed: execute_clean_step, error: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/clean.py", line 77, in execute_clean_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
RuntimeError: boom
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/clean.py", line 88, in execute_clean_step
    raise errors.CleaningError(msg)
ironic_python_agent.errors.CleaningError: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom
{3} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi [0.024450s] ... ok
 WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries.
{2} ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception [0.026436s] ... ok
   ERROR [root] Malformed clean_step, no "step" key: {}
   ERROR [root] Command failed: execute_clean_step, error: Malformed clean_step, no "step" key: {}
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/clean.py", line 74, in execute_clean_step
    raise ValueError(msg)
ValueError: Malformed clean_step, no "step" key: {}
{2} ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step [0.011881s] ... ok
{2} ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_get_clean_steps [0.006049s] ... ok
 WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries.
 WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path'
 WARNING [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping
 WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used.
{3} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_fstab [0.033449s] ... ok
{3} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition [0.012235s] ... ok
{2} ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step [0.031276s] ... ok
{3} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail [0.006557s] ... ok
 WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly.
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0006248950958251953 seconds. Error: Received status code 401 from http://example.org, expected 200. Response body: Unauthorized
   ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boop'
Stderr: None
{2} ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result [0.005816s] ... ok
 WARNING [ironic_python_agent.extensions.standby] Failed to call get_disk_identifier: Unable to obtain the root_uuid parameter: The hexdump tool may be missing in IPA: 
{3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock [0.007754s] ... ok
{3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_image_invalid_image_list [0.002633s] ... ok
{3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump [0.013093s] ... ok
{2} ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_get_deploy_steps [0.020667s] ... ok
{3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid [0.004753s] ... ok
{3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field [0.003496s] ... ok
{3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success [0.003018s] ... ok
{3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields [0.002911s] ... ok
{1} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success [0.018615s] ... ok
{3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails [0.008055s] ... ok
   ERROR [root] Unexpected exception performing deploy step erase_devices. RuntimeError: boom
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
RuntimeError: boom
{2} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_prep [0.025530s] ... ok
   ERROR [root] Command failed: execute_deploy_step, error: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
RuntimeError: boom
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/deploy.py", line 88, in execute_deploy_step
    raise errors.DeploymentError(msg)
ironic_python_agent.errors.DeploymentError: Deploy step failed: Unexpected exception performing deploy step erase_devices. RuntimeError: boom
{1} ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_exception [0.029316s] ... ok
{3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception_image_mb [0.012581s] ... ok
{3} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id [0.001427s] ... ok
{1} ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail [0.009282s] ... ok
   ERROR [root] Error performing deploy step erase_devices
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot
   ERROR [root] Command failed: execute_deploy_step, error: Block device caused unknown error: I'm a teapot
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/deploy.py", line 77, in execute_deploy_step
    result = hardware.dispatch_to_managers(step['step'], node, ports,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in dispatch_to_managers
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
ironic_python_agent.errors.BlockDeviceError: Block device caused unknown error: I'm a teapot
 WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly.
 WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries.
{2} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader [0.036708s] ... ok
 WARNING [root] Can't find field vendor fordevice lo in device class net
 WARNING [root] Can't find field vendor fordevice docker0 in device class net
 WARNING [root] Can't find field vendor fordevice lo in device class net
 WARNING [root] Can't find field vendor fordevice docker0 in device class net
 WARNING [root] Can't find field vendor fordevice lo in device class net
 WARNING [root] Can't find field vendor fordevice docker0 in device class net
{3} ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface_failed [0.037969s] ... ok
{1} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__add_multi_bootloaders [0.027178s] ... ok
{3} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface_expired [0.013909s] ... ok
 WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries.
{2} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure [0.029027s] ... ok
{3} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_success [0.010040s] ... ok
{3} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_unassociated [0.010807s] ... ok
{3} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 [0.010101s] ... ok
 WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries.
{1} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg [0.050176s] ... ok
{1} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode [0.003981s] ... ok
{1} ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs [0.002843s] ... ok
{2} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 [0.029576s] ... ok
{2} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded [0.005521s] ... ok
{3} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6 [0.013220s] ... ok
{1} ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password [0.016248s] ... ok
{3} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test [0.005929s] ... ok
{3} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults [0.004576s] ... ok
{3} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config [0.002887s] ... ok
{2} ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords [0.021467s] ... ok
{3} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_non_default [0.003679s] ... ok
{1} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image [0.017008s] ... ok
 WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Number Of Devices'
 WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: 
 WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body:  
{2} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success [0.009422s] ... ok
{3} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_number_of_devices [0.002669s] ... ok
{3} ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr [0.002762s] ... ok
{3} ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_childclass_serialize [0.001361s] ... ok
{1} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_image [0.008233s] ... ok
{3} ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError [0.005022s] ... ok
{2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi [0.006374s] ... ok
{3} ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string [0.002100s] ... ok
{3} ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks [0.010137s] ... ok
{2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_image_force [0.020523s] ... ok
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid [0.003811s] ... ok
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data [0.004137s] ... ok
{1} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_image_cached [0.020929s] ... ok
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints [0.006952s] ... ok
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_deploy_steps_exist [0.001537s] ... ok
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success [0.006043s] ... ok
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
 WARNING [root] Unable to execute `smartctl` utility: boom
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success_no_smartctl [0.005634s] ... ok
{2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_partition_image [0.018442s] ... ok
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_userdata_success [0.005725s] ... ok
   ERROR [root] Command failed: prepare_image, error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests!
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/standby.py", line 728, in prepare_image
    _validate_partitioning(device)
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/standby.py", line 510, in _validate_partitioning
    utils.execute('partprobe', device, run_as_root=True,
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/utils.py", line 91, in execute
    return ironic_utils.execute(*cmd, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/tests/unit/base.py", line 86, in do_not_call
    raise Exception(
Exception: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests!
{1} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_bad_partition [0.025177s] ... ok
{1} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_stream_true [0.010631s] ... ok
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
{2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive [0.025680s] ... ok
 WARNING [ironic_python_agent.extensions.standby] reboot command has been ignored, falling back to sysrq-trigger
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred [0.017935s] ... ok
{1} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq [0.012481s] ... ok
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure [0.009888s] ... ok
 WARNING [root] Could not determine if /dev/sda1 is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
 WARNING [root] Could not determine if /dev/md0 is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/md/ro'
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check [0.011961s] ... ok
{2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image [0.039608s] ... ok
   ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
   ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None, falling back to sysrq-trigger
   ERROR [root] Command failed: run_image, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None.
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/standby.py", line 791, in _run_shutdown_command
    utils.execute("echo b > /proc/sysrq-trigger", shell=True)
  File "<string>", line 3, in execute
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/standby.py", line 799, in run_image
    self._run_shutdown_command('reboot')
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/standby.py", line 793, in _run_shutdown_command
    raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr)
ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None.
{2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_image [0.024621s] ... ok
 WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: ''
Stderr: None, falling back to sysrq-trigger
{2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq [0.006392s] ... ok
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default [0.053903s] ... ok
 WARNING [root] Invalid ipmitool output meow
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels [0.004229s] ... ok
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
 WARNING [root] Invalid ipmitool output 
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available [0.007188s] ... ok
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1!
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios [0.008407s] ... ok
   ERROR [root] Cannot fetch total memory size using psutil version 5
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/hardware.py", line 1375, in get_memory
    total = int(psutil.virtual_memory().total)
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in virtual_memory
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
AttributeError
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 [0.008837s] ... ok
{2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_write_error [0.034363s] ... ok
   ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [root] Using hint {'vendor': 'basic vendor'} skipping devices: /dev/sda,/dev/sdb
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list [0.011889s] ... ok
{2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync [0.014515s] ... ok
{2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error [0.004464s] ... ok
{2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls [0.002794s] ... ok
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device [0.008147s] ... ok
{2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum [0.009405s] ... ok
   ERROR [root] Invalid content error: Invalid request body: baz
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 268, in execute_command
    result = ext.execute(command_part, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
ironic_python_agent.errors.InvalidContentError: Invalid request body: baz
   ERROR [root] Extension do not found
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 267, in execute_command
    ext = self.get_extension(extension_part)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 238, in get_extension
    ext = self.ext_mgr[extension_name].obj
          ~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/stevedore/extension.py", line 363, in __getitem__
    return self._extensions_by_name[name]
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
KeyError: 'do'
 WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj
{6} ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_invalid_content [0.006044s] ... ok
{6} ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension [0.004451s] ... ok
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_name [0.008474s] ... ok
 WARNING [root] Using hint {'name': '/dev/hdaa'} skipping devices: /dev/hdaa
{2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image [0.010371s] ... ok
{6} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success [0.010991s] ... ok
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list [0.012555s] ... ok
{6} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name [0.001976s] ... ok
   ERROR [root] Clean version mismatch for command execute_clean_step
{0} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_validation_failure [0.003674s] ... ok
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_interfaces_with_bond [0.020332s] ... ok
{6} ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_version_mismatch [0.013998s] ... ok
{2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception [0.013996s] ... ok
{0} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure [0.001755s] ... ok
{6} ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_with_args [0.013018s] ... ok
{6} ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension [0.002177s] ... ok
{6} ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success [0.001899s] ... ok
   ERROR [root] Clean version mismatch for command execute_deploy_step
{0} ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_version_mismatch [0.018488s] ... ok
{0} ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map [0.001771s] ... ok
{0} ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_missing_command [0.001524s] ... ok
 WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path'
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_vlan_invalid_int [0.028766s] ... ok
{6} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 [0.020437s] ... ok
{0} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi [0.011045s] ... ok
{7} ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step [0.028631s] ... ok
{2} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error [0.035072s] ... ok
 WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping
 WARNING [root] Can't find field vendor fordevice sda in device class block
 WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping
 WARNING [root] Can't find field vendor fordevice sdb in device class block
 WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping
 WARNING [root] Can't find field vendor fordevice md0 in device class block
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_MAX_MAX [0.017087s] ... ok
{3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration [0.002754s] ... ok
{6} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_bios [0.023054s] ... ok
 WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly.
 WARNING [ironic_python_agent.extensions.image] efibootmgr is not available in the ramdisk
   ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error 
{3} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi [0.002702s] ... ok
   ERROR [root] Command failed: install_bootloader, error: 
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader
    _install_grub2(device,
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/image.py", line 167, in _install_grub2
    root_partition = partition_utils.get_partition(device, uuid=root_uuid)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/partition_utils.py", line 521, in get_partition
    ipa_utils.rescan_device(device)
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/utils.py", line 961, in rescan_device
    execute('partx', '-av', device, attempts=3, delay_on_retry=True)
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/utils.py", line 91, in execute
    return ironic_utils.execute(*cmd, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in do_not_call
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
FileNotFoundError
{7} ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_with_args [0.019038s] ... ok
{2} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path [0.015606s] ... ok
   ERROR [root] Command failed: fake_async_command, error: An error occurred: failed
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command
    raise ExecutionError()
ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed
{0} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader [0.025442s] ... ok
{2} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware [0.006463s] ... ok
{3} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__udev_settle [0.007254s] ... ok
{3} ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_node_indicates_skip [0.003322s] ... ok
   ERROR [ironic_python_agent.extensions.poll] Node lookup data can only be set when the Ironic Python Agent is running in standalone mode.
   ERROR [root] Command failed: sleep, error: foo
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep
    time.sleep(sleep_info['time'])
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1187, in _execute_mock_call
    raise result
Exception: foo
   ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow
    raise errors.CommandExecutionError(
ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed
 WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries.
   ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'error'
Stderr: None.
   ERROR [ironic_python_agent.extensions.image] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'error'
Stderr: None
{3} ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev [0.005114s] ... ok
{2} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error [0.008989s] ... ok
{7} ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed_on_second_command [0.018078s] ... ok
{0} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure [0.008894s] ... ok
{0} ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_not_standalone [0.004138s] ... ok
{0} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image [0.009213s] ... ok
{2} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support [0.006331s] ... ok
{6} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails [0.028353s] ... ok
{3} ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty [0.003687s] ... ok
   ERROR [root] Command failed: fake_async_command, error: An error occurred: failed
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/tests/unit/extensions/test_base.py", line 38, in fake_async_command
    raise ExecutionError()
ironic_python_agent.tests.unit.extensions.test_base.ExecutionError: An error occurred: failed
   ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /foo/bar; image ID: fake_id; image checksum: abc123; verification checksum: invalid-checksum
 WARNING [ironic_python_agent.inspector] no suitable root device detected
 WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
{0} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid [0.008307s] ... ok
 WARNING [ironic_python_agent.agent] No route to host 1.2.1.2, route record: Error: some error text
{0} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value [0.003170s] ... ok
{6} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple [0.007193s] ... ok
{4} ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command [0.003673s] ... ok
   ERROR [root] Command failed: sleep, error: An error occurred: An unexpected error occurred. Please try back later.
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/tests/unit/extensions/test_flow.py", line 41, in sleep
    time.sleep(sleep_info['time'])
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
ironic_python_agent.errors.RESTError: An error occurred: An unexpected error occurred. Please try back later.
{4} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_execution_failure [0.014046s] ... ok
{4} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success_without_agent [0.009091s] ... ok
{4} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map [0.001777s] ... ok
{4} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure [0.010224s] ... ok
   ERROR [root] Command failed: start_flow, error: Command execution failed: fake.sleep was failed
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/flow.py", line 44, in start_flow
    raise errors.CommandExecutionError(
ironic_python_agent.errors.CommandExecutionError: Command execution failed: fake.sleep was failed
{3} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete [0.005001s] ... ok
{3} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists [0.006308s] ... ok
{3} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes [0.004967s] ... ok
{3} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner [0.007538s] ... ok
{7} ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_success [0.025592s] ... ok
{0} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure [0.015255s] ... ok
{3} ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_no_root_disk [0.007660s] ... ok
{6} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy [0.017121s] ... ok
{2} ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry [0.033376s] ... ok
{4} ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed [0.015582s] ... ok
{3} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup [0.002154s] ... ok
{3} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported [0.001801s] ... ok
{6} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids [0.009153s] ... ok
{3} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_invalid_status_code [0.002084s] ... ok
   ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow
   ERROR [root] Command failed: install_bootloader, error: meow
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/image.py", line 721, in install_bootloader
    _install_grub2(device,
  File "<string>", line 3, in _install_grub2
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
OSError: meow
{0} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success [0.016406s] ... ok
{4} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override [0.014030s] ... ok
 WARNING [root] Can't find field vendor fordevice lo in device class net
 WARNING [root] Can't find field vendor fordevice docker0 in device class net
 WARNING [root] Can't find field vendor fordevice lo in device class net
 WARNING [root] Can't find field vendor fordevice docker0 in device class net
 WARNING [root] Can't find field vendor fordevice lo in device class net
 WARNING [root] Can't find field vendor fordevice docker0 in device class net
   ERROR [ironic_lib.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests!
{0} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image [0.009420s] ... ok
{2} ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface [0.023550s] ... ok
{7} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_bios [0.029553s] ... ok
{6} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true [0.021907s] ... ok
{6} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls [0.003212s] ... ok
   ERROR [ironic_python_agent.extensions.image] Installing GRUB2 boot loader to device /dev/fake failed with Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'error'
Stderr: None.
{4} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails [0.025968s] ... ok
   ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow
{7} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_manage_failure [0.020826s] ... ok
{0} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card [0.024712s] ... ok
{6} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 [0.016745s] ... ok
 WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly.
{7} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo [0.014891s] ... ok
{0} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled [0.014098s] ... ok
 WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/fake1 using the install command which does not place Secure Boot signed binaries.
 WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path'
{7} ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success [0.003464s] ... ok
   ERROR [ironic_lib.exception] Exception in string format operation (arguments )
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/ironic_lib/exception.py", line 134, in __init__
    message = self._msg_fmt % kwargs
              ~~~~~~~~~~~~~~^~~~~~~~
KeyError: 'reason'
{0} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface [0.004231s] ... ok
{6} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails [0.014369s] ... ok
{0} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address [0.004061s] ... ok
{7} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum [0.006868s] ... ok
 WARNING [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping
 WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used.
{4} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_no_fstab [0.035567s] ... ok
{7} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file [0.007459s] ... ok
{6} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled [0.012456s] ... ok
{6} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac [0.001712s] ... ok
 WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
{0} ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed [0.021857s] ... ok
   ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /tmp/tmp0tlhl0vx/fake_id; image ID: fake_id; image checksum: abc123; verification checksum: invalid-checksum
{7} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails [0.014439s] ... ok
 WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed
 WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed
{6} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface [0.018560s] ... ok
   ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
   ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [ironic_python_agent.extensions.image] Failed to copy grubenv file. Error: copy failed
   ERROR [root] Command failed: power_off, error: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/utils.py", line 865, in sync_clock
    execute('ntpdate', CONF.ntp_server)
  File "<string>", line 3, in execute
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/standby.py", line 844, in _sync_clock
    utils.sync_clock(ignore_errors=ignore_errors)
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/utils.py", line 872, in sync_clock
    raise errors.CommandExecutionError(msg)
ironic_python_agent.errors.CommandExecutionError: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/standby.py", line 805, in power_off
    self._run_shutdown_command('poweroff')
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/standby.py", line 764, in _run_shutdown_command
    self._sync_clock(ignore_errors=True)
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/standby.py", line 854, in _sync_clock
    raise errors.ClockSyncError(msg)
ironic_python_agent.errors.ClockSyncError: Error syncing system clock: Failed to sync hardware clock: Command execution failed: Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
{4} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails [0.029571s] ... ok
{7} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off_with_ntp_server [0.015665s] ... ok
{4} ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success [0.003487s] ... ok
{3} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout [0.105458s] ... ok
{3} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca [0.001983s] ... ok
{6} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid [0.008805s] ... ok
   ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
   ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None, falling back to sysrq-trigger
{4} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file [0.004924s] ... ok
{7} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails [0.005644s] ... ok
{6} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_invalid_node [0.009175s] ... ok
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 992, in read_resolv_conf
    cm: contextlib.AbstractContextManager = open(f)
                                            ^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/etc/resolv.conf'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 456, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 400, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 340, in _resolver
    self.clear()
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 348, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 944, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 995, in read_resolv_conf
    raise NoResolverConfiguration(f"cannot open {f}")
dns.resolver.NoResolverConfiguration: cannot open /etc/resolv.conf
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/connection.py", line 72, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 549, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 522, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
socket.gaierror: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 715, in urlopen
    httplib_response = self._make_request(
                       ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 404, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1058, in _validate_conn
    conn.connect()
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 363, in connect
    self.sock = conn = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 186, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0xffff9588a7d0>: Failed to establish a new connection: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 799, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/retry.py", line 592, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffff9588a7d0>: Failed to establish a new connection: [Errno -2] Name or service not known'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 106, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 77, in _request
    return self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffff9588a7d0>: Failed to establish a new connection: [Errno -2] Name or service not known'))
{4} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image [0.011475s] ... ok
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
{6} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status [0.008619s] ... ok
{4} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location [0.003109s] ... ok
{0} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run [0.040644s] ... ok
{3} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_generic_method_only [0.026729s] ... ok
{7} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device [0.017182s] ... ok
{7} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5 [0.002842s] ... ok
   ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
   ERROR [ironic_python_agent.extensions.standby] Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
   ERROR [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /foo/bar; image ID: fake_id; image checksum: fake-sha512-value; verification checksum: invalid-checksum
 WARNING [ironic_python_agent.extensions.standby] Failed to sync file system buffers: Command execution failed: Flushing file system buffers failed. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [ironic_python_agent.extensions.standby] poweroff command failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None, falling back to sysrq-trigger
   ERROR [root] Command failed: power_off, error: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None.
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/standby.py", line 789, in _run_shutdown_command
    utils.execute("echo o > /proc/sysrq-trigger", shell=True)
  File "<string>", line 3, in execute
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/standby.py", line 805, in power_off
    self._run_shutdown_command('poweroff')
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/standby.py", line 793, in _run_shutdown_command
    raise errors.SystemRebootError(e.exit_code, e.stdout, e.stderr)
ironic_python_agent.errors.SystemRebootError: Error rebooting system: Reboot script failed with exit code None. stdout: None. stderr: None.
{7} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields [0.008247s] ... ok
{7} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_new_hash_fields [0.007849s] ... ok
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 992, in read_resolv_conf
    cm: contextlib.AbstractContextManager = open(f)
                                            ^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/etc/resolv.conf'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 456, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 400, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 340, in _resolver
    self.clear()
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 348, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 944, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 995, in read_resolv_conf
    raise NoResolverConfiguration(f"cannot open {f}")
dns.resolver.NoResolverConfiguration: cannot open /etc/resolv.conf
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/connection.py", line 72, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 549, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 522, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
socket.gaierror: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 715, in urlopen
    httplib_response = self._make_request(
                       ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 404, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1058, in _validate_conn
    conn.connect()
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 363, in connect
    self.sock = conn = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 186, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0xffffa3875e50>: Failed to establish a new connection: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 799, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/retry.py", line 592, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffffa3875e50>: Failed to establish a new connection: [Errno -2] Name or service not known'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 106, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 77, in _request
    return self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffffa3875e50>: Failed to establish a new connection: [Errno -2] Name or service not known'))
{4} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off [0.016974s] ... ok
{7} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi [0.010167s] ... ok
   ERROR [ironic_lib.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests!
   ERROR [root] Unexpected error dispatching unexpected_fail to manager <ironic_python_agent.tests.unit.test_multi_hardware.FakeMainlineHardwareManager object at 0xffff8a170510>: A problem was encountered
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/hardware.py", line 2995, in dispatch_to_managers
    return getattr(manager, method)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper
    return fn(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail
    raise RuntimeError('A problem was encountered')
RuntimeError: A problem was encountered
   ERROR [root] Command execution error: Command execution failed: foo bar baz
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 268, in execute_command
    result = ext.execute(command_part, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
ironic_python_agent.errors.CommandExecutionError: Command execution failed: foo bar baz
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
{3} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails [0.027935s] ... ok
{7} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx [0.004186s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command [0.011425s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception [0.004973s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_success [0.002447s] ... ok
 WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth0', <Mock id='281472998601872'>), ('eth1', <Mock id='281472998663568'>)]
{6} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port [0.045346s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_validation_failure [0.002083s] ... ok
{7} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info [0.004983s] ... ok
{3} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty [0.010591s] ... ok
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 992, in read_resolv_conf
    cm: contextlib.AbstractContextManager = open(f)
                                            ^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/etc/resolv.conf'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 456, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 400, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 340, in _resolver
    self.clear()
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 348, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 944, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 995, in read_resolv_conf
    raise NoResolverConfiguration(f"cannot open {f}")
dns.resolver.NoResolverConfiguration: cannot open /etc/resolv.conf
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/connection.py", line 72, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 549, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 522, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/connection.py", line 72, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 549, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 522, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
socket.gaierror: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 715, in urlopen
    httplib_response = self._make_request(
                       ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 404, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1058, in _validate_conn
    conn.connect()
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 363, in connect
    self.sock = conn = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 186, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0xffff941df150>: Failed to establish a new connection: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 799, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/retry.py", line 592, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffff941df150>: Failed to establish a new connection: [Errno -2] Name or service not known'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 106, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 77, in _request
    return self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffff941df150>: Failed to establish a new connection: [Errno -2] Name or service not known'))
{4} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_and_stream_false [0.023564s] ... ok
{4} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo [0.003062s] ... ok
{4} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card [0.003835s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_tuple_result [0.010422s] ... ok
{3} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception [0.007629s] ... ok
{0} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_explicitly [0.059651s] ... ok
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
 WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used.
{5} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__append_uefi_to_fstab_handles_error [0.009213s] ... ok
{4} ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided [0.016776s] ... ok
 WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.)
{3} ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs [0.019702s] ... ok
{0} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait [0.014157s] ... ok
 WARNING [ironic_python_agent.numa_inspector] Failed to get list of NUMA nodes, NUMA node path does not exist: /sys/devices/system/node/
{3} ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs [0.002973s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root [0.013952s] ... ok
{4} ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ipv6 [0.010711s] ... ok
{6} ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat [0.037057s] ... ok
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 992, in read_resolv_conf
    cm: contextlib.AbstractContextManager = open(f)
                                            ^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/etc/resolv.conf'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 456, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 400, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 340, in _resolver
    self.clear()
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 348, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 944, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 995, in read_resolv_conf
    raise NoResolverConfiguration(f"cannot open {f}")
dns.resolver.NoResolverConfiguration: cannot open /etc/resolv.conf
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/connection.py", line 72, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 549, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 522, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
socket.gaierror: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 715, in urlopen
    httplib_response = self._make_request(
                       ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 404, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1058, in _validate_conn
    conn.connect()
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 363, in connect
    self.sock = conn = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 186, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0xffffab9d8290>: Failed to establish a new connection: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 799, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/retry.py", line 592, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffffab9d8290>: Failed to establish a new connection: [Errno -2] Name or service not known'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 106, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 77, in _request
    return self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffffab9d8290>: Failed to establish a new connection: [Errno -2] Name or service not known'))
{3} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_cores_info [0.010402s] ... ok
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
{6} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status [0.008832s] ... ok
{0} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token [0.013296s] ... ok
{0} ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute [0.002021s] ... ok
   ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow
   ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command.
Command: None
Exit code: 16
Stdout: 'Connection timeout'
Stderr: None
   ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command.
Command: None
Exit code: 16
Stdout: 'Connection timeout'
Stderr: None
   ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command.
Command: None
Exit code: 16
Stdout: 'Connection refused'
Stderr: None
{7} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_raise_keyboard_interrupt [0.050564s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure [0.016874s] ... ok
{3} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_info [0.008257s] ... ok
{6} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found [0.009283s] ... ok
{0} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop [0.005543s] ... ok
{6} ironic_python_agent.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute [0.003473s] ... ok
   ERROR [ironic_python_agent.burnin] stress-ng (cpu) failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
{0} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_no_stress_ng [0.003788s] ... ok
{0} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu [0.001775s] ... ok
   ERROR [ironic_python_agent.burnin] fio (disk) failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
{6} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio [0.006376s] ... ok
{3} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB_nvme [0.014785s] ... ok
{0} ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok [0.005262s] ... ok
{6} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults [0.004234s] ... ok
{6} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default [0.002677s] ... ok
   ERROR [ironic_python_agent.burnin] stress-ng (vm) failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
 WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/md/esp using the install command which does not place Secure Boot signed binaries.
 WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command.
Command: grub2-install
Exit code: 1
Stdout: ''
Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'.
 WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command.
Command: grub2-install
Exit code: 1
Stdout: ''
Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'.
   ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/efi_utils.py", line 131, in manage_uefi
    utils.execute('mount', efi_partition, efi_partition_mount_point)
  File "<string>", line 3, in execute
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
{6} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng [0.003692s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_uefi_gpt [0.027439s] ... ok
{3} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_error_counting [0.011636s] ... ok
{0} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure [0.011630s] ... ok
{6} ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders [0.003644s] ... ok
{3} ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present [0.003199s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache [0.004807s] ... ok
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 992, in read_resolv_conf
    cm: contextlib.AbstractContextManager = open(f)
                                            ^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/etc/resolv.conf'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 456, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 400, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 340, in _resolver
    self.clear()
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 348, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 944, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 995, in read_resolv_conf
    raise NoResolverConfiguration(f"cannot open {f}")
dns.resolver.NoResolverConfiguration: cannot open /etc/resolv.conf
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/connection.py", line 72, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 549, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 522, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/connection.py", line 72, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 549, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 522, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
socket.gaierror: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 715, in urlopen
    httplib_response = self._make_request(
                       ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 404, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1058, in _validate_conn
    conn.connect()
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 363, in connect
    self.sock = conn = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 186, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0xffffa991f550>: Failed to establish a new connection: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 799, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/retry.py", line 592, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffffa991f550>: Failed to establish a new connection: [Errno -2] Name or service not known'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 106, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 77, in _request
    return self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffffa991f550>: Failed to establish a new connection: [Errno -2] Name or service not known'))
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
 WARNING [ironic_python_agent.efi_utils] Empty EFI partition detected.
{5} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty [0.006909s] ... ok
{3} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label [0.005561s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable [0.004940s] ... ok
{7} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep [0.036277s] ... ok
{6} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid [0.008164s] ... ok
{3} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition [0.005346s] ... ok
 WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly.
   ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi
    _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part,
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/efi_utils.py", line 324, in _run_efibootmgr
    boot_records = list(get_boot_records())
                   ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/efi_utils.py", line 278, in get_boot_records
    efi_output = utils.execute('efibootmgr', '-v')
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in execute
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1187, in _execute_mock_call
    raise result
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
{5} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_given_partition [0.009366s] ... ok
{3} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition [0.008093s] ... ok
{6} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_failure [0.015075s] ... ok
{7} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation [0.010148s] ... ok
{3} ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok [0.003111s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured [0.021256s] ... ok
{3} ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute [0.002922s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_erase_exec_exception [0.003502s] ... ok
   ERROR [ironic_python_agent.efi_utils] Umounting efi system partition failed. Attempted 3 times. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'no umount'
Stderr: None
 WARNING [ironic_python_agent.extensions.image] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly.
 WARNING [root] Could not determine if /dev/sdfake is aread-only device. Error: 
 WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path'
{5} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal [0.012115s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_error [0.003611s] ... ok
{6} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk [0.011463s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue [0.002482s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_empty_target_raid_config [0.001558s] ... ok
{7} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait [0.011914s] ... ok
 WARNING [root] Could not determine if /dev/sdfake1 is aread-only device. Error: 
{3} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid [0.007288s] ... ok
   ERROR [root] Rescue Operation failed when writing the hashed rescue password to the password file. Error 
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/rescue.py", line 48, in write_rescue_password
    with open(PASSWORD_FILE, 'w') as f:
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
OSError
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member_false [0.002893s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror [0.006635s] ... ok
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error [0.005536s] ... ok
 WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping
{3} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail [0.007142s] ... ok
 WARNING [root] Can't find field vendor fordevice sda in device class block
 WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping
 WARNING [root] Can't find field vendor fordevice sdb in device class block
 WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping
 WARNING [root] Can't find field vendor fordevice md0 in device class block
ironic-python-agent: Excluding device sdh1 from virtual mediaconsideration as it is a partition.
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_raid_config [0.011578s] ... ok
{3} ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_part [0.002833s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed [0.006432s] ... ok
{3} ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom [0.002909s] ... ok
{3} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_ntpdate [0.002948s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_max_is_first_logical [0.007320s] ... ok
 WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Oops
 WARNING [ironic_python_agent.extensions.standby] Unable to connect to http://example.org, retrying. Error: Error downloading image: Download of image fake_id failed: Received status code 500 from http://example.org, expected 200. Response body: Oops
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0014548301696777344 seconds. Error: Received status code 500 from http://example.org, expected 200. Response body: Oops
   ERROR [ironic_python_agent.utils] Failed to sync time using chrony to ntp server: 192.168.1.1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: 'time verboten'
{5} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries [0.007708s] ... ok
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_ok [0.013414s] ... ok
{3} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony_failure [0.004309s] ... ok
{3} ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise [0.000565s] ... ok
   ERROR [ironic_python_agent.utils] foo
{5} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios [0.003822s] ... ok
{3} ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options [0.002431s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_skip_list [0.008165s] ... ok
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures [0.006517s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image_configdirve [0.005327s] ... ok
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
   ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: An unknown error occurred erasing block device /dev/sda
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6 [0.003570s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed [0.005546s] ... ok
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0013229846954345703 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0013229846954345703 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0019435882568359375 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0019435882568359375 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0024411678314208984 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0024411678314208984 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred [0.004352s] ... ok
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0034232139587402344 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 3 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0034232139587402344 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.003923654556274414 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.003923654556274414 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004384279251098633 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 5 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.004384279251098633 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0048182010650634766 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 6 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0048182010650634766 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
 WARNING [root] Failed to remove partitions on /dev/sda: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'No md superblock detected'
Stderr: None
 WARNING [root] Failed to remove partitions on /dev/sdb: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'No md superblock detected'
Stderr: None
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005269765853881836 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.005269765853881836 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005684614181518555 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 8 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.005684614181518555 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
 WARNING [root] Refusing to permit ATA Secure Erase as direct ATA commands via the `smartctl` utility with device /dev/sda do not succeed.
 WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.006086826324462891 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: <MagicMock name='get().text' id='281473258758224'>
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration [0.009254s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred [0.004162s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_status [0.010586s] ... ok
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed [0.004423s] ... ok
 WARNING [root] Could not determine if /dev/sda1 is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
 WARNING [root] Could not determine if /dev/md0 is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/md/ro'
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata [0.008484s] ... ok
   ERROR [root] nvme-cli did not return any supported format modes for device: /dev/nvme0n1
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_format_unsupported [0.004179s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image [0.011570s] ... ok
   ERROR [root] Erasing block device /dev/sda failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror [0.003486s] ... ok
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_uses_internal_info [0.004360s] ... ok
 WARNING [root] Cannot get BMC address: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt [0.002926s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false [0.010583s] ... ok
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed [0.003726s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum [0.003308s] ... ok
   ERROR [ironic_python_agent.extensions.standby] Unable to verify image fake_id with available checksums. Please make sure the specified 'os_hash_algo' (currently unsupported-algorithm) is supported by this ramdisk, or provide a md5 checksum via the 'checksum' field
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error [0.003010s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback [0.006851s] ... ok
{5} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback [0.008819s] ... ok
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format [0.017482s] ... ok
{5} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver [0.005006s] ... ok
 WARNING [root] Cannot get BMC v6 address: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_virt [0.002829s] ... ok
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface [0.002594s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device [0.044318s] ... ok
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi [0.002710s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables [0.003494s] ... ok
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus2 [0.002949s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 [0.002705s] ... ok
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme [0.002680s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output [0.002556s] ... ok
{5} ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host [0.017787s] ... ok
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list [0.005325s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 [0.004749s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_by_path [0.008564s] ... ok
 WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices.
{5} ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ip [0.013901s] ... ok
 WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] We have identified a multipath device sda1, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0'
 WARNING [root] Can't find field vendor fordevice dm-0 in device class block
 WARNING [root] We have identified a multipath device sdb, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] We have identified a multipath device sdb2, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] We have identified a multipath device sdb3, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] We have identified a multipath device sdb1, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc'
 WARNING [root] Can't find field vendor fordevice sdc in device class block
 WARNING [root] Device /dev/dm-1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-1'
 WARNING [root] Can't find field vendor fordevice dm-1 in device class block
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int [0.007294s] ... ok
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath [0.021530s] ... ok
{5} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6_linklocal [0.010292s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor [0.007750s] ... ok
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_iinfo [0.007857s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist [0.007976s] ... ok
 WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path'
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial [0.006374s] ... ok
 WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping
 WARNING [root] Can't find field vendor fordevice sda in device class block
 WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping
 WARNING [root] Can't find field vendor fordevice sdb in device class block
 WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping
 WARNING [root] Can't find field vendor fordevice md0 in device class block
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level [0.007338s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 [0.002936s] ... ok
 WARNING [root] Device /dev/sda is inaccessible, skipping... Error: 
 WARNING [root] Device /dev/sdb is not supported by pyudev, skipping... Error: No block device with number 1234
 WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: 
 WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: 
{0} ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching [0.003025s] ... ok
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device [0.011904s] ... ok
{5} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_ssl [0.027214s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing [0.007504s] ... ok
{0} ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf [0.004064s] ... ok
{0} ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme [0.003831s] ... ok
{6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_vlan_interfaces_using_lldp_all [0.015159s] ... ok
{0} ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path [0.001444s] ... ok
{6} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules [0.004389s] ... ok
{6} ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions [0.002811s] ... ok
{0} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_on [0.005154s] ... ok
{0} ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure [0.004691s] ... ok
{6} ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found [0.005522s] ... ok
{0} ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks [0.004069s] ... ok
{6} ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param [0.002694s] ... ok
{6} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content [0.005087s] ... ok
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 992, in read_resolv_conf
    cm: contextlib.AbstractContextManager = open(f)
                                            ^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/etc/resolv.conf'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 456, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 400, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 340, in _resolver
    self.clear()
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 348, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 944, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 995, in read_resolv_conf
    raise NoResolverConfiguration(f"cannot open {f}")
dns.resolver.NoResolverConfiguration: cannot open /etc/resolv.conf
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/connection.py", line 72, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 549, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 522, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
socket.gaierror: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 715, in urlopen
    httplib_response = self._make_request(
                       ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 404, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1058, in _validate_conn
    conn.connect()
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 363, in connect
    self.sock = conn = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 186, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0xffff98fd43d0>: Failed to establish a new connection: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 799, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/retry.py", line 592, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffff98fd43d0>: Failed to establish a new connection: [Errno -2] Name or service not known'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 106, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 77, in _request
    return self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffff98fd43d0>: Failed to establish a new connection: [Errno -2] Name or service not known'))
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
{6} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group [0.007223s] ... ok
{5} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default [0.042875s] ... ok
{6} ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_unknown_fields [0.001521s] ... ok
{6} ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_error [0.007826s] ... ok
{5} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_validation [0.009653s] ... ok
   ERROR [ironic_python_agent.utils] boom
   ERROR [ironic_python_agent.inspector] inspector url error 400: <MagicMock name='post().content.decode()' id='281473424493392'>, proceeding with lookup
{0} ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed [0.023463s] ... ok
{5} ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute [0.003858s] ... ok
{0} ironic_python_agent.tests.unit.test_inspector.TestMisc.test_raise_on_wrong_collector [0.001572s] ... ok
{0} ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac [0.001257s] ... ok
{0} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_already_set [0.003763s] ... ok
{5} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status [0.002925s] ... ok
{0} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh [0.001883s] ... ok
 WARNING [ironic_python_agent.ironic_api_client] Failed looking up node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' at http://agent-api.ironic.example.org. Error 400: {"node": {"uuid": "deadbeef-dabb-ad00-b105-f00d00bab10c"}}. Check if inspection has completed.
{0} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code [0.001953s] ... ok
{0} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid [0.001868s] ... ok
{5} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role [0.003135s] ... ok
{5} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default [0.003777s] ... ok
{0} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv4 [0.002369s] ... ok
{0} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_409_status_code [0.002172s] ... ok
{0} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 [0.002281s] ... ok
{0} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_3 [0.002087s] ... ok
{0} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat [0.002069s] ... ok
{5} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_ok [0.011407s] ... ok
{5} ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError_details [0.001771s] ... ok
 WARNING [root] The root device was not detected in 27 seconds
{5} ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout [0.013617s] ... ok
{6} ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries [0.045351s] ... ok
{0} ironic_python_agent.tests.unit.test_multi_hardware_clean_steps.TestMultipleHardwareManagerCleanSteps.test_clean_step_ordering [0.022723s] ... ok
{6} ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks [0.004621s] ... ok
 WARNING [root] The root device was not detected in 27 seconds
{5} ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured [0.010407s] ... ok
 WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth1', <Mock id='281473156538704'>)]
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_unlock_exception [0.003946s] ... ok
{0} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface [0.011720s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point [0.005602s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5 [0.004520s] ... ok
   ERROR [ironic_python_agent.netutils] Socket for network interface eth0 said that it was ready to read we were unable to read from the socket while trying to get LLDP packet. Skipping this network interface.
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/netutils.py", line 196, in _get_lldp_info
    lldp_info[interface[0]] = _receive_lldp_packets(s)
                              ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/netutils.py", line 159, in _receive_lldp_packets
    pkt = sock.recv(1600)
          ^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
OSError: BOOM
   ERROR [ironic_python_agent.utils] collector <Mock name='mock.name' id='281473424242832'> failed: boom
{0} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_socket_recv_error [0.010216s] ... ok
{0} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6 [0.001322s] ... ok
{6} ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed [0.023278s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_5 [0.006864s] ... ok
{0} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs [0.006119s] ... ok
{0} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_memory_info [0.002566s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_nvme [0.006866s] ... ok
{6} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception [0.012466s] ... ok
{0} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info [0.008926s] ... ok
 WARNING [root] RAID device /dev/md1 will not be deleted
 WARNING [root] Software RAID device /dev/md1 is not going to be deleted as its volume name - small - is on the skip list
 WARNING [root] Software RAID device /dev/md1 was not deleted
 WARNING [root] Holder disk /dev/sda contains logical disk on the skip list. Deleting just partitions: ['1']
 WARNING [root] Holder disk /dev/sdb contains logical disk on the skip list. Deleting just partitions: ['1']
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_skip_list [0.010070s] ... ok
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
{6} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback [0.012257s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_notsupported_shred [0.004167s] ... ok
{6} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception [0.002131s] ... ok
{0} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_num_parts_exceed [0.010865s] ... ok
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_0_pass_no_zeroize [0.004505s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express [0.007859s] ... ok
{6} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_fails [0.022248s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 [0.012970s] ... ok
 WARNING [root] Invalid IP address meow: 'meow' does not appear to be an IPv4 or IPv6 address
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels [0.005805s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error [0.002636s] ... ok
{0} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure [0.033050s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac [0.002763s] ... ok
{0} ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true [0.002558s] ... ok
 WARNING [root] Cannot get BMC MAC address: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt [0.002692s] ... ok
{0} ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid [0.004156s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address [0.003876s] ... ok
{6} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found [0.021812s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both [0.006208s] ... ok
{0} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_convert_to_sparse [0.009410s] ... ok
 WARNING [root] Malformed CPU flags information: ('I am not a flag', '')
 WARNING [ironic_python_agent.netutils] Trailing byte received in an LLDP package: b'5'
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags [0.002981s] ... ok
{0} ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device [0.003152s] ... ok
{6} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_malformed [0.009407s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw [0.004711s] ... ok
{0} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file [0.004155s] ... ok
{6} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info [0.008613s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size [0.004807s] ... ok
{0} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache [0.007411s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 [0.005830s] ... ok
{0} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline [0.004759s] ... ok
{6} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info [0.013700s] ... ok
ironic-python-agent: /tmp/tmp6uk22fc9/etc/ironic-python-agent not found
ironic-python-agent: /tmp/tmp6uk22fc9/etc/ironic-python-agent.d not found
 WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda'
 WARNING [root] Can't find field vendor fordevice sda in device class block
 WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb'
 WARNING [root] Can't find field vendor fordevice sdb in device class block
 WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc'
 WARNING [root] Can't find field vendor fordevice sdc in device class block
 WARNING [root] Device /dev/sdd is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdd'
 WARNING [root] Can't find field vendor fordevice sdd in device class block
 WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0'
 WARNING [root] Can't find field vendor fordevice dm-0 in device class block
{0} ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files [0.008667s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device [0.012802s] ... ok
{0} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str [0.003136s] ... ok
{6} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info [0.009665s] ... ok
{0} ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald_with_logfile [0.006954s] ... ok
 WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda'
 WARNING [root] Can't find field vendor fordevice sda in device class block
 WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb'
 WARNING [root] Can't find field vendor fordevice sdb in device class block
 WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0'
 WARNING [root] Can't find field vendor fordevice md0 in device class block
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_raid [0.011060s] ... ok
{0} ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output [0.002937s] ... ok
{0} ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines [0.002546s] ... ok
{0} ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small [0.002502s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_model [0.008704s] ... ok
{0} ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort [0.002781s] ... ok
{6} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB [0.014998s] ... ok
{0} ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps [0.002167s] ... ok
{0} ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi [0.002243s] ... ok
{0} ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label [0.002256s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size [0.007616s] ... ok
POST: /v1/commands?wait=false {'name': 'do_things', 'params': {'key': 'value'}}
GOT:<WrapperTestResponse streamed [200 OK]>
POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}}
GOT:<WrapperTestResponse streamed [200 OK]>
{6} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt [0.011284s] ... ok
 WARNING [root] Using hint {'vendor': 'fake-vendor'} skipping devices: /dev/sdb
 WARNING [ironic_lib.utils] No device found that matches the root device hints {'wwn': 'fake-wwn'}
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list [0.010473s] ... ok
   ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server.
 WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: 
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 2: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Error downloading image: Download of image fake_id failed: Timed out reading next chunk from webserver
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail [0.014890s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices [0.002916s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist [0.006690s] ... ok
{6} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_gzip_error [0.033682s] ... ok
{6} ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent [0.003122s] ... ok
{6} ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_false [0.003199s] ... ok
   ERROR [root] Finding the partition with UUID 11111111-2222-3333-4444-555555555555 on device /dev/fake failed with Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
 WARNING [root] No hardware manager was able to handle interface foobar
{6} ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail [0.004379s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_interfaces [0.014775s] ... ok
{6} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition [0.005650s] ... ok
ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: sata
{6} ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata [0.002925s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_interfaces_with_lldp [0.014660s] ... ok
{6} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony [0.007202s] ... ok
{6} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp [0.003905s] ... ok
   ERROR [ironic_python_agent.utils] Failed to sync with ntp server: 192.168.1.1: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
{6} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception [0.004157s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_interfaces_with_lldp_error [0.014144s] ... ok
 WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path'
ironic-python-agent: Cannot use configuration from virtual media as the agent was not booted from virtual media.
{6} ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia [0.007268s] ... ok
{6} ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys [0.000159s] ... ok
 WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda'
{6} ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string [0.001574s] ... ok
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping
 WARNING [root] Can't find field vendor fordevice sda in device class block
 WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping
 WARNING [root] Can't find field vendor fordevice sdb in device class block
 WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping
 WARNING [root] Can't find field vendor fordevice md0 in device class block
{5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1_raidN [0.007256s] ... ok
{6} ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort [0.002780s] ... ok
{6} ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type [0.002480s] ... ok
GET: /v1/status None
GOT:<WrapperTestResponse streamed [200 OK]>
GET: /v1/foo None
GOT:<WrapperTestResponse streamed [404 NOT FOUND]>
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping
{5} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success [0.009451s] ... ok
 WARNING [root] Attempted to invoke multipath utilities, but we encountered an error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'lacking kernel support'
Stderr: None
{5} ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support [0.003895s] ... ok
{5} ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_not_enabled [0.002773s] ... ok
{5} ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found [0.005218s] ... ok
{5} ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_missing_path [0.001568s] ... ok
{5} ironic_python_agent.tests.unit.test_inspector.TestMisc.test_default_collector_loadable [0.001462s] ... ok
 WARNING [ironic_python_agent.inspector] Not all network interfaces received IP addresses in 1 seconds: ['em0']
{5} ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_timeout [0.006307s] ... ok
 WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'node_node': 'also_not_node'}
{5} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body [0.002143s] ... ok
{5} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 [0.001885s] ... ok
{5} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only [0.024884s] ... ok
{5} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info [0.008703s] ... ok
   ERROR [ironic_python_agent.netutils] Failed to open all RawPromiscuousSockets, attempting to close any opened sockets.
{5} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_bind_fail [0.007753s] ... ok
{5} ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success [0.010843s] ... ok
{5} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_valid_format [0.001421s] ... ok
{5} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed [0.006318s] ... ok
{5} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary [0.004892s] ... ok
{5} ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present_uppercase [0.003520s] ... ok
   ERROR [root] No partition with UUID 11111111-2222-3333-4444-555555555555 found on device /dev/fake
{5} ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_no_device_found [0.004415s] ... ok
{5} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_uefi [0.009988s] ... ok
{5} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device [0.003985s] ... ok
 WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding!
{5} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device [0.004209s] ... ok
{5} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name [0.003783s] ... ok
{5} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params [0.006953s] ... ok
{5} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device [0.007894s] ... ok
   ERROR [ironic_python_agent.utils] foo
   ERROR [ironic_python_agent.utils] bar
   ERROR [ironic_python_agent.utils] baz
{5} ironic_python_agent.tests.unit.test_utils.TestFailures.test_get_error [0.000615s] ... ok
{5} ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present [0.005736s] ... ok
{5} ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false [0.002624s] ... ok
POST: /v1/commands {}
GOT:<WrapperTestResponse streamed [400 BAD REQUEST]>
{2} ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls [1.026987s] ... ok
   ERROR [ironic_lib.exception] Exception in string format operation (arguments )
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/ironic_lib/exception.py", line 134, in __init__
    message = self._msg_fmt % kwargs
              ~~~~~~~~~~~~~~^~~~~~~~
KeyError: 'service'
 WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
{2} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection_without_apiurl [0.038574s] ... ok
   ERROR [ironic_lib.exception] Exception in string format operation (arguments )
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/ironic_lib/exception.py", line 134, in __init__
    message = self._msg_fmt % kwargs
              ~~~~~~~~~~~~~~^~~~~~~~
KeyError: 'service'
 WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat
   ERROR [ironic_python_agent.agent] Neither ipa-api-url nor inspection_callback_urlfound, please check your pxe append parameters.
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
{2} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_without_inspection_and_apiurl [0.036049s] ... ok
{2} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_root [0.008182s] ... ok
   ERROR [ironic_python_agent.burnin] SMART test on /dev/sdj failed with 'string'
{2} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing [0.002948s] ... ok
   ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
{2} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_fio [0.002900s] ... ok
{2} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory [0.001460s] ... ok
{2} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv [0.014850s] ... ok
{2} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_nvme_device [0.010793s] ... ok
{2} ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal [0.001398s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks [0.021264s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured [0.018818s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_set_password_exception [0.002935s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_device_info [0.005245s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member [0.002596s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration [0.004789s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete [0.004989s] ... ok
{4} ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run [1.027133s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_force_gpt_with_disk_label [0.006755s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_skip_list_existing_device_does_not_match [0.005494s] ... ok
   ERROR [root] Command failed: foo_command, error: command execution failed
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/extensions/base.py", line 174, in run
    result = self.execute_method(**self.command_params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/tests/unit/test_agent.py", line 44, in foo_execute
    raise EXPECTED_ERROR
RuntimeError: command execution failed
{4} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_failure [0.010620s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_complete_skip_list [0.006764s] ... ok
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
   ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: Block device /dev/sda already has a security password set
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled [0.006076s] ... ok
 WARNING [root] Executable 'biosdevname' not found
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror [0.002812s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address [0.002540s] ... ok
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
 WARNING [root] Invalid IP address : '' does not appear to be an IPv4 or IPv6 address
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available [0.003837s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 [0.005473s] ... ok
 WARNING [root] Failed to get CPU flags
 WARNING [root] Can't find field vendor fordevice lo in device class net
 WARNING [root] Can't find field vendor fordevice docker0 in device class net
 WARNING [root] Can't find field vendor fordevice lo in device class net
 WARNING [root] Can't find field vendor fordevice docker0 in device class net
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags [0.002838s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks [0.002745s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices [0.002997s] ... ok
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 992, in read_resolv_conf
    cm: contextlib.AbstractContextManager = open(f)
                                            ^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/etc/resolv.conf'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 456, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 400, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 340, in _resolver
    self.clear()
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 348, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 944, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 995, in read_resolv_conf
    raise NoResolverConfiguration(f"cannot open {f}")
dns.resolver.NoResolverConfiguration: cannot open /etc/resolv.conf
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/connection.py", line 72, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 549, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 522, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
socket.gaierror: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 715, in urlopen
    httplib_response = self._make_request(
                       ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 404, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1058, in _validate_conn
    conn.connect()
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 363, in connect
    self.sock = conn = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 186, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0xffff9b4df050>: Failed to establish a new connection: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 799, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/retry.py", line 592, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffff9b4df050>: Failed to establish a new connection: [Errno -2] Name or service not known'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 106, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 77, in _request
    return self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffff9b4df050>: Failed to establish a new connection: [Errno -2] Name or service not known'))
{4} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection [0.038448s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device [0.005869s] ... ok
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
 WARNING [root] Could not get real physical RAM from lshw: 
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception [0.006807s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids [0.008540s] ... ok
{4} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results [0.016484s] ... ok
{4} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile [0.003086s] ... ok
{4} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default [0.002539s] ... ok
   ERROR [ironic_python_agent.utils] failed to run dmidecode: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
{4} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure [0.002780s] ... ok
 WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices.
{4} ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders [0.002924s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev [0.012417s] ... ok
 WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: [Errno 2] No such file or directory: '/dev/disk/by-path'
 WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping
 WARNING [root] Can't find field vendor fordevice sda in device class block
 WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping
 WARNING [root] Can't find field vendor fordevice sdb in device class block
 WARNING [root] Device /dev/md0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/md0'
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping
 WARNING [root] Can't find field vendor fordevice md0 in device class block
{2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_duplicate_volume_name [0.006936s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type [0.006578s] ... ok
{4} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid [0.014114s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_with_config [0.003910s] ... ok
{4} ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders [0.004278s] ... ok
{4} ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder [0.001342s] ... ok
{2} ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_enabled_no_results [0.002551s] ... ok
{4} ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash [0.001256s] ... ok
{2} ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on [0.003512s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device [0.005147s] ... ok
{2} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url [0.005357s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists [0.004021s] ... ok
{2} ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info [0.005794s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_failure_with_nvme [0.006301s] ... ok
{2} ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option [0.024578s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_mismatching_hints [0.025073s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max [0.006701s] ... ok
{2} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed [0.021729s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints [0.016412s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_partition [0.005982s] ... ok
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
 WARNING [root] Failed to invoke secure erase, falling back to shred: Error erasing block device: An unknown error occurred erasing block device /dev/sda
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued [0.005915s] ... ok
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled_unlock_attempt [0.005194s] ... ok
{2} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only [0.021764s] ... ok
   ERROR [root] Erasing block device /dev/sda failed with error 
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_oserror [0.002706s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media [0.002622s] ... ok
 WARNING [ironic_python_agent.numa_inspector] Failed to get some NUMA information (Error in NUMA node data format: An unexpected error occurred. Please try back later.)
{2} ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure [0.011677s] ... ok
{2} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info [0.007782s] ... ok
{2} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir [0.007512s] ... ok
{2} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_fail [0.013558s] ... ok
 WARNING [ironic_lib.disk_utils] Unable to probe for partitions on device /dev/fake, the partitioning table may be broken. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
{2} ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc [0.004314s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size [0.043584s] ... ok
{2} ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_exc [0.004189s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk [0.002706s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 [0.012307s] ... ok
{2} ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_whole_disk ... SKIPPED: parted utility was not found: [Errno 2] No such file or directory: 'parted'
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid [0.003135s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled [0.002958s] ... ok
{2} ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test [0.005344s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus [0.002585s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str [0.006893s] ... ok
{2} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part [0.010356s] ... ok
{2} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_without_image [0.006491s] ... ok
{2} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos [0.004656s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_interfaces_no_carrier [0.013233s] ... ok
{2} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found [0.008835s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_interfaces_with_biosdevname [0.012705s] ... ok
{2} ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate [0.014697s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_interfaces_with_vendor_info [0.014501s] ... ok
{2} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_vmedia [0.006440s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi [0.003548s] ... ok
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping
{4} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success [0.008989s] ... ok
ironic-python-agent: line 1.
ironic-python-agent: line 2 message
 WARNING [root] Mismatched hardware managers versions. Agent version: {'specific': '1'}, node version: {'not_specific': '1'}
{2} ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger [0.011863s] ... ok
{4} ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions [0.002727s] ... ok
ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: usb
{2} ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other [0.002719s] ... ok
{4} ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path [0.003546s] ... ok
{2} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none [0.002598s] ... ok
{4} ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node [0.002544s] ... ok
{2} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_server_is_none [0.003763s] ... ok
{2} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_bios [0.002346s] ... ok
{4} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting [0.005309s] ... ok
{4} ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_no_directories [0.001427s] ... ok
{4} ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields [0.001517s] ... ok
{4} ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_root_without_on [0.001381s] ... ok
{2} ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald [0.006586s] ... ok
{2} ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor [0.001328s] ... ok
{2} ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict [0.001272s] ... ok
GET: / None
GOT:<WrapperTestResponse streamed [200 OK]>
{4} ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok [0.005624s] ... ok
   ERROR [ironic_python_agent.utils] failed to run hardware-detect utility: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
{4} ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed [0.002691s] ... ok
   ERROR [ironic_python_agent.utils] JSON returned from hardware-detect cannot be decoded: Expecting value: line 1 column 1 (char 0)
{4} ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed [0.002677s] ... ok
   ERROR [ironic_python_agent.utils] Failed to get list of PCI devices: 
{4} ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path [0.002842s] ... ok
{4} ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only [0.005010s] ... ok
{4} ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled [0.002469s] ... ok
{4} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions [0.013793s] ... ok
{4} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol [0.001629s] ... ok
{4} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_2 [0.002109s] ... ok
{4} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries [0.006109s] ... ok
{4} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails [0.020922s] ... ok
{4} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found [0.023470s] ... ok
{4} ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found [0.024532s] ... ok
{4} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4 [0.001417s] ... ok
{4} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info [0.009762s] ... ok
{4} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_cores_info [0.002707s] ... ok
   ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server.
 WARNING [ironic_python_agent.extensions.standby] Image download failed, 1 of 2: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Error downloading image: Download of image fake_id failed: Timed out reading next chunk from webserver
{4} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive [0.032045s] ... ok
{4} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string [0.031278s] ... ok
{4} ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc [0.003412s] ... ok
{4} ironic_python_agent.tests.unit.test_partition_utils.RealFilePartitioningTestCase.test_different_sizes ... SKIPPED: parted utility was not found: [Errno 2] No such file or directory: 'parted'
{4} ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label [0.005791s] ... ok
{4} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral [0.009988s] ... ok
 WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding!
{4} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_read_device [0.009443s] ... ok
{4} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device [0.002722s] ... ok
{4} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt [0.004791s] ... ok
{4} ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate [0.005380s] ... ok
ironic-python-agent: Device sdh appears to not qualify as virtual due to the device size. Size: 1610612736000
ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: usb
{4} ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large [0.002827s] ... ok
ironic-python-agent: No virtual media device detected
{4} ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia [0.006704s] ... ok
{4} ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok [0.005880s] ... ok
{7} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout [2.013832s] ... ok
{7} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile [0.003437s] ... ok
{7} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer [0.002618s] ... ok
 WARNING [ironic_python_agent.dmi_inspector] Failed to parse Handle type in dmi output: list index out of range
{7} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data [0.003030s] ... ok
{7} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios [0.001287s] ... ok
{7} ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders [0.002746s] ... ok
   ERROR [ironic_python_agent.efi_utils] Could not configure UEFI boot on device /dev/fake: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/efi_utils.py", line 185, in manage_uefi
    _run_efibootmgr(valid_efi_bootloaders, efi_dev, efi_part,
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/efi_utils.py", line 324, in _run_efibootmgr
    boot_records = list(get_boot_records())
                   ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/efi_utils.py", line 278, in get_boot_records
    efi_output = utils.execute('efibootmgr', '-v')
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in execute
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1187, in _execute_mock_call
    raise result
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'boom'
Stderr: None
{7} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount [0.011697s] ... ok
{7} ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_ironic_lib [0.001394s] ... ok
{7} ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_baseclass_serialize [0.001244s] ... ok
{7} ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client [0.001451s] ... ok
 WARNING [root] The root device was not detected in 45 seconds
{7} ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured [0.011738s] ... ok
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point_no_pstore [0.004996s] ... ok
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false [0.004844s] ... ok
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist [0.003708s] ... ok
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_steps_exist [0.001337s] ... ok
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected [0.005005s] ... ok
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_6 [0.006762s] ... ok
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_skip_list_no_existing_device [0.007243s] ... ok
   ERROR [root] Unable to clean all softraid correctly. Remaining ['/dev/md0']
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_failure_blocks_remaining [0.006651s] ... ok
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_erase_disabled [0.005023s] ... ok
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
   ERROR [root] Failed to invoke secure erase, fallback to shred is not enabled: Error erasing block device: Block device /dev/sda is frozen and cannot be erased
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_frozen [0.006106s] ... ok
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success [0.004253s] ... ok
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency [0.010101s] ... ok
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore [0.005418s] ... ok
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps [0.001442s] ... ok
   ERROR [root] Cannot fetch total memory size using psutil version 5
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/hardware.py", line 1375, in get_memory
    total = int(psutil.virtual_memory().total)
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in virtual_memory
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
AttributeError
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 [0.006579s] ... ok
 WARNING [root] We have identified a multipath device sda, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] We have identified a multipath device sda2, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] We have identified a multipath device sda3, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] We have identified a multipath device sda1, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] Device /dev/dm-0 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-0'
 WARNING [root] Can't find field vendor fordevice dm-0 in device class block
 WARNING [root] We have identified a multipath device sdb, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] We have identified a multipath device sdb2, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] We have identified a multipath device sdb3, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] We have identified a multipath device sdb1, this is being ignored in favor of dm-0 and its related child devices.
 WARNING [root] Device /dev/sdc is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdc'
 WARNING [root] Can't find field vendor fordevice sdc in device class block
 WARNING [root] Device /dev/dm-1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/dm-1'
 WARNING [root] Can't find field vendor fordevice dm-1 in device class block
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath [0.017877s] ... ok
 WARNING [ironic_lib.utils] No device found that matches the root device hints {'model': 'fastable sd131 7', 'wwn': 'fake-wwn', 'serial': 'fake-serial', 'vendor': 'fake-vendor', 'size': 10}
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found [0.010682s] ... ok
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn [0.006051s] ... ok
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info [0.002639s] ... ok
 WARNING [root] Could not retrieve vendor info from lshw: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure [0.002750s] ... ok
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions [0.002516s] ... ok
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info [0.004889s] ... ok
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
{7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase [0.006775s] ... ok
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda. Skipping
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sdb. Skipping
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping
 WARNING [root] Could not find the SCSI address (HCTL) for device /dev/md1. Skipping
{7} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid [0.009193s] ... ok
 WARNING [root] Attempted to determine if multipath tools were present. Not detected. Error recorded: 
{7} ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_not_found_mpath_config [0.004021s] ... ok
{7} ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok [0.002981s] ... ok
{7} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes_exists [0.005975s] ... ok
{7} ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_ok [0.003952s] ... ok
 WARNING [ironic_python_agent.inspector] failed to get system journal
{7} ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail [0.002841s] ... ok
 WARNING [ironic_python_agent.inspector] Failed to gather vendor id, product id or pci class from PCI device bar: 
 WARNING [ironic_python_agent.inspector] Wrong format of vendor id, product id or pci class in PCI device baz: 
{7} ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info [0.009733s] ... ok
{7} ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success [0.011926s] ... ok
{7} ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac [0.001303s] ... ok
 WARNING [ironic_python_agent.ironic_api_client] Got invalid node data in response to query for node with addresses '00:0c:29:8c:11:b1,00:0c:29:8c:11:b2' from http://agent-api.ironic.example.org: {'heartbeat_timeout': 300}
{7} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf [0.002435s] ... ok
{7} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data [0.001869s] ... ok
 WARNING [ironic_python_agent.ironic_api_client] Got invalid heartbeat from the API: {'node': {'uuid': 'deadbeef-dabb-ad00-b105-f00d00bab10c'}}
{7} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout [0.001814s] ... ok
{7} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_connection_error [0.001933s] ... ok
{7} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token [0.001739s] ... ok
{7} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed [0.021277s] ... ok
   ERROR [root] Unexpected error dispatching unexpected_fail to manager <ironic_python_agent.tests.unit.test_multi_hardware.FakeMainlineHardwareManager object at 0xffffab9dba90>: A problem was encountered
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/hardware.py", line 2951, in dispatch_to_all_managers
    response = getattr(manager, method)(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 32, in wrapper
    return fn(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/tests/unit/test_multi_hardware.py", line 101, in unexpected_fail
    raise RuntimeError('A problem was encountered')
RuntimeError: A problem was encountered
{7} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails [0.021910s] ... ok
{7} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_multiple [0.009142s] ... ok
{7} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets [0.007171s] ... ok
{7} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format [0.001630s] ... ok
{7} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit [0.006962s] ... ok
{7} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB [0.014827s] ... ok
{7} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists [0.014014s] ... ok
   ERROR [root] Failed to create config drive on disk /dev/fake for node 12345678-1234-1234-1234-1234567890abcxyz. Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
{7} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_exc [0.017068s] ... ok
{7} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_url [0.003878s] ... ok
{7} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices [0.003062s] ... ok
{7} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device [0.002746s] ... ok
{7} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid [0.002847s] ... ok
ironic-python-agent: Was unable to execute the lsblk command. Unexpected error while running command.
Command: None
Exit code: -
Stdout: None
Stderr: None
{7} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error [0.002677s] ... ok
ironic-python-agent: Did not identify any virtual media candidates devices.
{7} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found [0.003013s] ... ok
{7} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device [0.006090s] ... ok
{7} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev [0.003497s] ... ok
{7} ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device [0.002612s] ... ok
{7} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd [0.002868s] ... ok
   ERROR [ironic_python_agent.utils] Unable to sync clock, available methods of 'ntpdate' or 'chrony' not found.
{7} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none [0.003674s] ... ok
ironic-python-agent: Copying configuration from /tmp/tmpr7oybc1s/etc/ironic-python-agent to /etc/ironic-python-agent
ironic-python-agent: Copying configuration from /tmp/tmpr7oybc1s/etc/ironic-python-agent.d to /etc/ironic-python-agent.d
{7} ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted [0.009081s] ... ok
{7} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict [0.003863s] ... ok
{7} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str [0.002274s] ... ok
{7} ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile [0.008585s] ... ok
 WARNING [ironic_python_agent.utils] Ignoring malformed capability 'test:world:2'. Format should be 'key:val'.
 WARNING [ironic_python_agent.utils] Ignoring malformed capability 'badformat'. Format should be 'key:val'.
{7} ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_old_format_caps [0.001642s] ... ok
{7} ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt [0.002468s] ... ok
POST: /v1/commands {'name': 'do_things', 'params': []}
GOT:<WrapperTestResponse streamed [400 BAD REQUEST]>
POST: /v1/commands {'name': 'do_things', 'params': {'key': 'value'}}
GOT:<WrapperTestResponse streamed [200 OK]>
   ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server.
{1} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout [3.031067s] ... ok
{1} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_without_md5 [0.002749s] ... ok
   ERROR [ironic_lib.disk_utils] Failed to fix GPT partition on disk /dev/sda for node None. Error: Don't call ironic_lib.utils.execute() / processutils.execute() or similar functions in tests!
{1} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid [0.010888s] ... ok
 WARNING [root] Something went wrong when readlink for interface eth2. Error: fake
{1} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error [0.004422s] ... ok
{1} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected [0.013896s] ... ok
{1} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx [0.004054s] ... ok
{1} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface [0.005586s] ... ok
{1} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror [0.026387s] ... ok
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 992, in read_resolv_conf
    cm: contextlib.AbstractContextManager = open(f)
                                            ^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/etc/resolv.conf'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 456, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 400, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 340, in _resolver
    self.clear()
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 348, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 944, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 995, in read_resolv_conf
    raise NoResolverConfiguration(f"cannot open {f}")
dns.resolver.NoResolverConfiguration: cannot open /etc/resolv.conf
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/connection.py", line 72, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 549, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 522, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
socket.gaierror: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 715, in urlopen
    httplib_response = self._make_request(
                       ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 404, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1058, in _validate_conn
    conn.connect()
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 363, in connect
    self.sock = conn = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 186, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0xffff9df6f610>: Failed to establish a new connection: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 799, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/retry.py", line 592, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffff9df6f610>: Failed to establish a new connection: [Errno -2] Name or service not known'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 106, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 77, in _request
    return self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffff9df6f610>: Failed to establish a new connection: [Errno -2] Name or service not known'))
{1} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token [0.038694s] ... ok
{4} ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries [1.004759s] ... ok
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
{4} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi [0.002689s] ... ok
{4} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info [0.002410s] ... ok
{4} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot [0.002280s] ... ok
{4} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_invalid_cap [0.002379s] ... ok
{4} ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output [0.003942s] ... ok
{4} ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail [0.003048s] ... ok
{4} ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_disk_label [0.002867s] ... ok
GET: /v1/commands None
GOT:<WrapperTestResponse streamed [200 OK]>
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 992, in read_resolv_conf
    cm: contextlib.AbstractContextManager = open(f)
                                            ^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/etc/resolv.conf'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 456, in resolve
    return _proxy.query(name, rdtype, raise_on_no_answer=raises,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 400, in query
    step(self._resolver.query, qname, rdtype, rdclass, tcp, source, raise_on_no_answer=False)
         ^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 340, in _resolver
    self.clear()
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 348, in clear
    self._resolver = dns.resolver.Resolver(filename=self._filename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 944, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3.11/site-packages/dns/resolver.py", line 995, in read_resolv_conf
    raise NoResolverConfiguration(f"cannot open {f}")
dns.resolver.NoResolverConfiguration: cannot open /etc/resolv.conf
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/connection.py", line 72, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 549, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 522, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/connection.py", line 72, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 549, in getaddrinfo
    qname, addrs = _getaddrinfo_lookup(host, family, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 522, in _getaddrinfo_lookup
    raise err
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 511, in _getaddrinfo_lookup
    answer = resolve(host, qfamily, False, use_network=use_network)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/eventlet/support/greendns.py", line 466, in resolve
    raise EAI_NODATA_ERROR
socket.gaierror: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 715, in urlopen
    httplib_response = self._make_request(
                       ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 404, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1058, in _validate_conn
    conn.connect()
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 363, in connect
    self.sock = conn = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 186, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0xffff9e776890>: Failed to establish a new connection: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 799, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/urllib3/util/retry.py", line 592, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffff9e776890>: Failed to establish a new connection: [Errno -2] Name or service not known'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 106, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 77, in _request
    return self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='fake_api.example.org', port=8081): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xffff9e776890>: Failed to establish a new connection: [Errno -2] Name or service not known'))
{1} ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia [0.032058s] ... ok
 WARNING [ironic_python_agent.agent] Ironic does not support automated TLS
{1} ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected [0.037108s] ... ok
{1} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait [0.012346s] ... ok
{1} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid [0.009709s] ... ok
{1} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_result [0.008856s] ... ok
{1} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root [0.008496s] ... ok
{1} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default [0.003953s] ... ok
{1} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default [0.007827s] ... ok
{1} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st [3.012835s] ... ok
{1} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd [0.211575s] ... ok
{1} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config [0.002681s] ... ok
{1} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner [0.002351s] ... ok
{1} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role [0.002296s] ... ok
{1} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader [0.002645s] ... ok
{1} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok [0.002599s] ... ok
{1} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data [0.001156s] ... ok
 WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Handle'
{1} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle [0.001531s] ... ok
{1} ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv [0.002680s] ... ok
 WARNING [ironic_python_agent.efi_utils] Invalid sgdisk line: I am a teaport
 WARNING [ironic_python_agent.efi_utils] No UUID information provided in sgdisk output for partition 1 on device /dev/fake
{1} ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken [0.003747s] ... ok
{1} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition [0.006684s] ... ok
{1} ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal [0.001275s] ... ok
{1} ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_classes [0.001922s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists_no_match [0.003861s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_decode_exception [0.015889s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception [0.002718s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration [0.006793s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi [0.006310s] ... ok
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_unlock_fallback_pass [0.004059s] ... ok
 WARNING [root] Could not determine if /dev/sdb is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sdb/ro'
 WARNING [root] Could not determine if /dev/sda is aread-only device. Error: [Errno 2] No such file or directory: '/sys/block/sda/ro'
   ERROR [root] Failed to erase the metadata on device "/dev/sdb". Error: Unexpected error while running command.
Command: None
Exit code: -
Stdout: 'Booo00000ooommmmm'
Stderr: None
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error [0.007633s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok [0.002498s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid [0.002842s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed [0.002758s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address [0.004884s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices [0.004766s] ... ok
 WARNING [root] Device /dev/sda is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda'
 WARNING [root] Can't find field vendor fordevice sda in device class block
 WARNING [root] Device /dev/sdb is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sdb'
 WARNING [root] Can't find field vendor fordevice sdb in device class block
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails [0.010983s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational [0.013159s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list [0.001399s] ... ok
 WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list [0.006056s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list [0.002644s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list [0.002448s] ... ok
 WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list [0.008521s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_vlan_interfaces [0.013127s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_vlan_interfaces_using_lldp [0.016764s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids [0.002812s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath [0.003690s] ... ok
{1} ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_raises [0.004629s] ... ok
{1} ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number [0.003252s] ... ok
{1} ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_verify_false [0.003208s] ... ok
{1} ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_content_and_deleted [0.001467s] ... ok
{1} ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test [0.002372s] ... ok
{1} ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error [0.021826s] ... ok
{1} ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns [0.022625s] ... ok
{1} ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok [0.024191s] ... ok
{1} ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all [0.004322s] ... ok
   ERROR [ironic_python_agent.ironic_api_client] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31
Traceback (most recent call last):
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 106, in _get_ironic_api_version
    response = self._request('GET', '/')
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/ironic_api_client.py", line 77, in _request
    return self.session.request(method,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 3, in request
  File "/usr/lib64/python3.11/unittest/mock.py", line 1124, in __call__
    return self._mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1128, in _mock_call
    return self._execute_mock_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/unittest/mock.py", line 1183, in _execute_mock_call
    raise effect
Exception: Boom
{1} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error [0.003176s] ... ok
{1} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv6 [0.001931s] ... ok
{1} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node [0.004085s] ... ok
{1} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only [0.020684s] ... ok
{1} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB_nvme [0.014984s] ... ok
{1} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_status_code [0.004222s] ... ok
{1} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_error [0.004044s] ... ok
{1} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl [0.032093s] ... ok
{1} ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_fallback_partuuid [0.003873s] ... ok
{1} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition [0.006964s] ... ok
{1} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 [0.005172s] ... ok
{1} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt [0.006948s] ... ok
{1} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided [0.005852s] ... ok
ironic-python-agent: Excluding device sda1 from virtual mediaconsideration as it is a partition.
ironic-python-agent: Found possible vmedia candidate /dev/sda2, however the device failed vmedia validity checking.
{1} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels [0.003064s] ... ok
ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: scsi
{1} ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi [0.002466s] ... ok
ironic-python-agent: Copying configuration from /tmp/tmp02hvg177/etc/ironic-python-agent to /etc/ironic-python-agent
ironic-python-agent: Copying configuration from /tmp/tmp02hvg177/etc/ironic-python-agent.d to /etc/ironic-python-agent.d
{1} ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy [0.010048s] ... ok
ironic-python-agent: /some/path/etc/ironic-python-agent not found
ironic-python-agent: /some/path/etc/ironic-python-agent.d not found
{1} ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files [0.006357s] ... ok
{1} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_override_with_instance_info [0.009733s] ... ok
{1} ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald [0.007093s] ... ok
 WARNING [ironic_python_agent.utils] Device /dev/fake1 is inaccessible, skipping... Error: nope
{1} ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_udev [0.004163s] ... ok
{1} ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units [0.004049s] ... ok
{1} ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode [0.002582s] ... ok
POST: /v1/commands?wait=true {'name': 'do_things', 'params': {'key': 'value'}}
GOT:<WrapperTestResponse streamed [200 OK]>
POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}}
GOT:<WrapperTestResponse streamed [401 UNAUTHORIZED]>
GET: /v1/commands/abc123 None
GOT:<WrapperTestResponse streamed [200 OK]>
GET: /v1 None
GOT:<WrapperTestResponse streamed [200 OK]>
======
Totals
======
Ran: 790 tests in 7.3702 sec.
 - Passed: 788
 - Skipped: 2
 - Expected Fail: 0
 - Unexpected Success: 0
 - Failed: 0
Sum of execute time for each test: 18.5558 sec.
==============
Worker Balance
==============
 - Worker 0 (99 tests) => 0:00:00.840851
 - Worker 1 (99 tests) => 0:00:07.195029
 - Worker 2 (99 tests) => 0:00:02.229013
 - Worker 3 (99 tests) => 0:00:01.048681
 - Worker 4 (99 tests) => 0:00:02.928778
 - Worker 5 (99 tests) => 0:00:00.814435
 - Worker 6 (98 tests) => 0:00:00.970702
 - Worker 7 (98 tests) => 0:00:02.844600
+ RPM_EC=0
++ jobs -p
+ exit 0
Processing files: openstack-ironic-python-agent-9.1.0-2.ocs23.noarch
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.m6i3Oi
+ umask 022
+ cd /builddir/build/BUILD
+ cd ironic-python-agent-9.1.0
+ DOCDIR=/builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/share/doc/openstack-ironic-python-agent
+ export LC_ALL=C
+ LC_ALL=C
+ export DOCDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/share/doc/openstack-ironic-python-agent
+ cp -pr README.rst /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/share/doc/openstack-ironic-python-agent
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.iN55BR
+ umask 022
+ cd /builddir/build/BUILD
+ cd ironic-python-agent-9.1.0
+ LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/share/licenses/openstack-ironic-python-agent
+ export LC_ALL=C
+ LC_ALL=C
+ export LICENSEDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/share/licenses/openstack-ironic-python-agent
+ cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/share/licenses/openstack-ironic-python-agent
+ RPM_EC=0
++ jobs -p
+ exit 0
Provides: config(openstack-ironic-python-agent) = 9.1.0-2.ocs23 openstack-ironic-python-agent = 9.1.0-2.ocs23
Requires(interp): /bin/sh /bin/sh /bin/sh
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(post): /bin/sh systemd
Requires(preun): /bin/sh systemd
Requires(postun): /bin/sh systemd
Requires: /usr/bin/python3
Processing files: python3-ironic-python-agent-9.1.0-2.ocs23.noarch
Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.ZcYTJH
+ umask 022
+ cd /builddir/build/BUILD
+ cd ironic-python-agent-9.1.0
+ LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/share/licenses/python3-ironic-python-agent
+ export LC_ALL=C
+ LC_ALL=C
+ export LICENSEDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/share/licenses/python3-ironic-python-agent
+ cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch/usr/share/licenses/python3-ironic-python-agent
+ RPM_EC=0
++ jobs -p
+ exit 0
Provides: python-ironic-python-agent = 9.1.0-2.ocs23 python3-ironic-python-agent = 9.1.0-2.ocs23 python3.11-ironic-python-agent = 9.1.0-2.ocs23 python3.11dist(ironic-python-agent) = 9.1 python3dist(ironic-python-agent) = 9.1
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: python(abi) = 3.11
Obsoletes: python3.11-ironic-python-agent < 9.1.0-2.ocs23
Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch
Wrote: /builddir/build/RPMS/openstack-ironic-python-agent-9.1.0-2.ocs23.noarch.rpm
Wrote: /builddir/build/RPMS/python3-ironic-python-agent-9.1.0-2.ocs23.noarch.rpm
Child return code was: 0