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-build-106769-6120/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=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;\\007"', 'PS1': ' \\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-1.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-build-106769-6120/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=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;\\007"', 'PS1': ' \\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.g9EqBO + 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 . + 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.ihKXsh + 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/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools. warnings.warn( /usr/lib/python3.11/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( running build running build_py creating build creating build/lib creating build/lib/ironic_python_agent 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 creating build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_api.py -> build/lib/ironic_python_agent/tests/unit copying ironic_python_agent/tests/unit/test_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 copying ironic_python_agent/tests/__init__.py -> build/lib/ironic_python_agent/tests 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/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 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 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/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/tests/functional copying ironic_python_agent/tests/functional/base.py -> build/lib/ironic_python_agent/tests/functional copying ironic_python_agent/tests/functional/test_commands.py -> build/lib/ironic_python_agent/tests/functional copying ironic_python_agent/tests/functional/__init__.py -> build/lib/ironic_python_agent/tests/functional creating build/lib/ironic_python_agent/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 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:202: SetuptoolsDeprecationWarning: Installing 'ironic_python_agent.tests.unit.samples' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic_python_agent.tests.unit.samples' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic_python_agent.tests.unit.samples' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'ironic_python_agent.tests.unit.samples' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! 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.vWBq9D + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.ocs23.noarch '!=' / ']' + rm -rf /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.ocs23.noarch ++ dirname /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.ocs23.noarch + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.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-1.ocs23.noarch /usr/lib/python3.11/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools. warnings.warn( /usr/lib/python3.11/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running install_lib creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.ocs23.noarch/usr creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.ocs23.noarch/usr/lib creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.ocs23.noarch/usr/lib/python3.11 creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.ocs23.noarch/usr/lib/python3.11/site-packages creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.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-1.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-1.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-1.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-1.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-1.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.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-1.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-1.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-1.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/hardware_managers creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.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-1.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-1.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-1.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-1.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-1.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-1.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.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-1.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-1.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-1.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.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-1.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-1.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-1.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-1.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-1.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent creating /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent byte-compiling /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.ocs23.noarch/usr/lib/python3.11/site-packages/ironic_python_agent/__init__.py to __init__.cpython-311.pyc writing byte-compilation script '/tmp/tmpwi0rsw0y.py' /usr/bin/python3 /tmp/tmpwi0rsw0y.py removing /tmp/tmpwi0rsw0y.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-1.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-1.ocs23.noarch/usr/bin Installing ironic-python-agent script to /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.ocs23.noarch/usr/bin + rm -rfv /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.ocs23.noarch/usr/bin/__pycache__ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-python-agent-9.1.0-1.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-1.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-1.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-1.ocs23 --unique-debug-suffix -9.1.0-1.ocs23.noarch --unique-debug-src-base openstack-ironic-python-agent-9.1.0-1.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-1.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.GjWH18 + 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 {0} ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_invalid_command [0.008150s] ... ok 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' {0} ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_unknown_extension [0.003740s] ... ok {0} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_execution_failure [0.001579s] ... ok {0} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_validation_failure [0.001947s] ... ok {0} ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_get_clean_steps [0.004165s] ... ok {0} ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_missing_command [0.001232s] ... ok {0} ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_to_find_extension [0.001211s] ... ok 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 {4} ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_other_exception [0.011619s] ... ok {4} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_name [0.001478s] ... 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 "", 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 {0} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_bios [0.020907s] ... ok 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 "", 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] Clean version mismatch for command execute_deploy_step 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 [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] 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: {} 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] Boot mode mismatch: target boot mode is bios, current boot mode is uefi. Installing boot loader may fail or work incorrectly. ERROR [root] Command failed: fake_async_command, error: An error occurred: failed Traceback (most recent call last): File "/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 {4} ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step [0.014443s] ... 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 "", 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 [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow 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 "", 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: 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 "", 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 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 {4} ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_no_step [0.004052s] ... 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 {0} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi [0.012801s] ... ok ERROR [root] Malformed clean_step, no "step" key: {} 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 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: {} 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 {1} ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command [0.003067s] ... ok WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. 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' ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow {1} ironic_python_agent.tests.unit.extensions.test_base.TestExecuteCommandMixin.test_execute_command_success [0.001405s] ... 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. ERROR [root] Clean version mismatch for command execute_clean_step {1} ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_fail [0.009631s] ... ok {1} ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_version_mismatch [0.004355s] ... ok {1} ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_failed_empty_command_map [0.001080s] ... ok {1} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__add_multi_bootloaders [0.006956s] ... 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. 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 {4} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_grub_failure_api_override [0.005086s] ... ok {1} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__append_uefi_to_fstab_handles_error [0.007226s] ... ok {2} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_name [0.003459s] ... 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. {5} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success [0.006036s] ... ok {5} ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_fail [0.006779s] ... ok ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow 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 {5} ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_with_args [0.004088s] ... ok 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 "", 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 {5} ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step [0.003651s] ... ok ERROR [root] Command failed: execute_clean_step, error: Clean step failed: Unexpected exception performing clean step erase_devices. RuntimeError: boom Traceback (most recent call last): File "/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 "", 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 {4} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_manage_failure [0.006748s] ... ok ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error {1} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi [0.004379s] ... 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 "", 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 {0} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_fstab [0.018467s] ... ok {2} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_sync_command_success [0.001797s] ... ok {2} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_success [0.002475s] ... ok {2} ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_tuple_result [0.004924s] ... ok ERROR [root] Tried to execute fake.fake_sync_command, agent is still executing Command name: name, params: {}, status: RUNNING, result: None. 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 "", 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_deploy.TestDeployExtension.test_get_deploy_steps [0.003527s] ... ok WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed {2} ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed_on_second_command [0.008563s] ... ok WARNING [ironic_python_agent.extensions.image] Failed to copy grub.cfg file for EFI boot operation. Error copy failed {2} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_command_fail [0.005877s] ... ok WARNING [ironic_python_agent.extensions.image] Failed to copy grubenv file. Error: copy failed {0} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal_lenovo [0.006223s] ... 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 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 {3} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_execution_failure [0.004909s] ... ok {3} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_validation_failure [0.001231s] ... 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 "", 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 {3} ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_no_step [0.005471s] ... ok {3} ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_version_mismatch [0.007665s] ... ok {3} ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_tuple_result [0.004780s] ... ok {5} ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_with_args [0.005865s] ... ok {6} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_wait_async_command_execution_failure [0.005507s] ... ok {2} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_mount_fails [0.012916s] ... ok {4} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader [0.014140s] ... 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_bootloader_uefi_ignores_grub_failure [0.009397s] ... ok {6} ironic_python_agent.tests.unit.extensions.test_clean.TestCleanExtension.test_execute_clean_step_exception [0.006956s] ... ok {1} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_prep [0.009751s] ... 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_base.TestExecuteCommandMixin.test_busy [0.007594s] ... ok {2} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_grubcfg_fails [0.017393s] ... 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_base.TestExecuteCommandMixin.test_execute_command_invalid_content [0.003650s] ... ok {6} ironic_python_agent.tests.unit.extensions.test_deploy.TestDeployExtension.test_execute_deploy_step_exception [0.012387s] ... 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. 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 [root] Device /dev/sda1 is inaccessible, skipping... Error: [Errno 2] No such file or directory: '/dev/sda1' {2} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_empty [0.002949s] ... ok WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping {4} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure [0.016731s] ... ok {5} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_no_root [0.012917s] ... ok WARNING [ironic_python_agent.extensions.image] Falling back to fstab entry addition label of UUID. We could not identify which UUID or PARTUUID identifier label should be used, thus UUID will be used. {0} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test_install_bootloader_failure [0.006964s] ... ok {0} ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password [0.003630s] ... ok ERROR [ironic_python_agent.extensions.poll] Node lookup data can only be set when the Ironic Python Agent is running in standalone mode. {0} ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_write_rescue_password_ioerror [0.003840s] ... ok {0} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum [0.004071s] ... ok {0} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_unknown_file [0.005770s] ... ok {1} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_loader_with_grubcfg [0.014397s] ... ok {2} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_given_partition [0.006960s] ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0003819465637207031 seconds. Error: Received status code 401 from http://example.org, expected 200. Response body: Unauthorized {5} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_no_fstab [0.018408s] ... ok {3} ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_failed [0.026044s] ... 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_poll.TestPollExtension.test_set_node_info_not_standalone [0.001812s] ... ok {0} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_fail [0.004396s] ... 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. 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 {5} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_not_bootable [0.003808s] ... ok WARNING [ironic_python_agent.extensions.image] GRUB2 will be installed for UEFI on efi partition /dev/md/esp using the install command which does not place Secure Boot signed binaries. WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command. Command: grub2-install Exit code: 1 Stdout: '' Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'. {2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image_configdirve [0.003316s] ... ok WARNING [ironic_python_agent.extensions.image] Ignoring GRUB2 boot loader installation failure: Unexpected error while running command. Command: grub2-install Exit code: 1 Stdout: '' Stderr: 'grub2-install: error: this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot.\n'. {7} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_async_command_success_without_agent [0.010836s] ... ok {7} ironic_python_agent.tests.unit.extensions.test_base.TestExtensionDecorators.test_command_map [0.001267s] ... ok {4} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_umount_fails [0.012627s] ... ok {7} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_prep [0.004597s] ... ok ERROR [ironic_python_agent.extensions.standby] Failed to sync hardware clock: Unexpected error while running command. Command: None Exit code: - Stdout: 'boop' Stderr: None {6} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_uefi_gpt [0.016631s] ... ok {0} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__sync_clock [0.004360s] ... ok {4} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded [0.002638s] ... 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. {3} ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_sleep_flow_success [0.011976s] ... ok {3} ironic_python_agent.tests.unit.extensions.test_flow.TestFlowExtension.test_validate_exts_success [0.001139s] ... 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. {4} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__is_bootloader_loaded_uefi_mode [0.002971s] ... ok {2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_partition_image [0.005441s] ... ok {0} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_and_write_image [0.005092s] ... ok {3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_image_location [0.001785s] ... ok {2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_get_partition_uuids [0.003043s] ... ok {4} ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_get_hardware_info_success [0.002964s] ... ok {1} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_no_loader [0.016070s] ... ok {5} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_with_entry_removal [0.006335s] ... ok {5} ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_finalize_rescue [0.001800s] ... ok {4} ironic_python_agent.tests.unit.extensions.test_poll.TestPollExtension.test_set_node_info_success [0.001739s] ... ok {0} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_urls [0.004156s] ... ok ERROR [ironic_python_agent.extensions.image] Error setting up bootloader. Error meow {2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image [0.006750s] ... 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 [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] 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: {1} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__uefi_bootloader_find_partition [0.006830s] ... ok {6} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_uefi_partition_image_with_preserve_failure2 [0.013974s] ... ok {4} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries_success [0.005941s] ... ok 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 {0} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure [0.005379s] ... ok {1} ironic_python_agent.tests.unit.extensions.test_log.TestLogExtension.test_collect_system_logs [0.001811s] ... ok {5} ironic_python_agent.tests.unit.extensions.test_rescue.TestRescueExtension.test_hashed_passwords [0.011978s] ... ok {7} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_bootloader_uefi_ignores_grub_failure_api_override [0.013902s] ... 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 {6} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_empty_file [0.003702s] ... ok 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 "", 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 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 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] 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.0008707046508789062 seconds. Error: Received status code 500 from http://example.org, expected 200. Response body: Oops {3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_power_off_with_ntp_server [0.014659s] ... ok {0} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_with_new_hash_fields [0.004987s] ... ok {1} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_retries [0.004907s] ... ok {5} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image [0.004015s] ... ok {6} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_failed [0.003639s] ... ok {4} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image [0.008565s] ... ok {3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid [0.002754s] ... ok {6} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_bios [0.002038s] ... 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] poweroff command failed with error Unexpected error while running command. Command: None Exit code: - Stdout: '' Stderr: None, falling back to sysrq-trigger WARNING [ironic_python_agent.extensions.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 "", 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. {7} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2 [0.012560s] ... ok {3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_poweroff_sysrq [0.003009s] ... ok {6} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_image_invalid_image_list [0.001962s] ... ok WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 9: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Surprise!!!1! 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_verify_image_success [0.005689s] ... ok {5} ironic_python_agent.tests.unit.extensions.test_standby.TestImageDownload.test_download_image_and_checksum_multiple [0.006176s] ... ok {2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_image [0.016128s] ... 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! {4} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_proxy [0.006878s] ... ok {2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_value [0.004264s] ... 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! {5} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test__message_format_partition_uefi [0.002132s] ... ok {0} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image [0.006192s] ... ok {1} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_image [0.012703s] ... ok {5} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_image_force [0.004546s] ... ok 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] URL: http://example.org; time: 0.0007545948028564453 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: 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.0007545948028564453 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: 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: {2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_fails [0.004190s] ... ok WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0011072158813476562 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: 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.0011072158813476562 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0015633106231689453 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: 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, 2 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.0015633106231689453 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0021173954010009766 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: {4} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_hexdump [0.007668s] ... ok 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! 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.0021173954010009766 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.002963542938232422 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: {7} ironic_python_agent.tests.unit.extensions.test_image.TestImageExtension.test__install_grub2_softraid_bios [0.012737s] ... ok WARNING [ironic_python_agent.extensions.standby] Image download failed, 4 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.002963542938232422 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0037190914154052734 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: {3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_write_error [0.013255s] ... 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 [ironic_python_agent.extensions.standby] Image failed to verify against checksum. location: /tmp/tmpmmkq5t01/fake_id; image ID: fake_id; image checksum: abc123; verification checksum: invalid-checksum 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.0037190914154052734 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.004323005676269531 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: 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.004323005676269531 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.00458979606628418 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: {5} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_verify_fails [0.006638s] ... ok WARNING [ironic_python_agent.extensions.standby] Image download failed, 7 of 9: Error downloading image: Download of image fake_id failed: URL: http://example.org; time: 0.00458979606628418 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.0048367977142333984 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: 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.0048367977142333984 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: WARNING [ironic_python_agent.extensions.standby] URL: http://example.org; time: 0.005083560943603516 seconds. Error: Received status code 404 from http://example.org, expected 200. Response body: 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 {1} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_download_image_bad_status [0.007796s] ... ok {0} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid [0.008585s] ... ok {2} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception [0.005425s] ... ok {3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync_error [0.003635s] ... ok {2} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_infiniband_address_to_mac [0.000952s] ... 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 {4} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_stream_true [0.007016s] ... 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 [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 {6} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_no_configdrive [0.017214s] ... ok {3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_checksum [0.002000s] ... ok WARNING [ironic_python_agent.extensions.standby] reboot command has been ignored, 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 "", 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. {4} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_valid_reboot_sysrq [0.003203s] ... ok {3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_no_hash_algo [0.002268s] ... 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_power_off [0.008308s] ... ok {5} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_bad_partition [0.009462s] ... ok {0} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_write_error [0.010781s] ... 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 {1} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_without_md5 [0.004968s] ... ok {6} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_and_stream_false [0.006805s] ... ok {3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_md5_fallback [0.007323s] ... ok {7} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_cache_image_cached [0.004884s] ... ok {6} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_image_raw_stream_true [0.006185s] ... ok {7} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_invalid [0.002676s] ... ok {7} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_ignore_none_md5 [0.001779s] ... ok {7} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_with_new_hash_fields [0.001924s] ... ok {7} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_failure_without_fallback [0.004257s] ... 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 {0} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_disabled [0.006986s] ... ok 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 {4} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device [0.012055s] ... ok {1} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_exception_image_mb [0.005619s] ... ok WARNING [ironic_python_agent.extensions.standby] reboot command failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None, falling back to sysrq-trigger {2} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6 [0.017407s] ... ok {6} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_run_shutdown_command_fails [0.005086s] ... ok {7} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image [0.007212s] ... ok {1} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support_no_mlnx [0.002528s] ... ok {6} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_missing_field [0.002676s] ... ok WARNING [root] Something went wrong when readlink for interface eth2. Error: fake {7} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_execute_error [0.002889s] ... 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' {6} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success [0.002089s] ... ok {3} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_image_gpt_fails [0.010418s] ... ok {6} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card [0.002524s] ... ok {0} ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ipv6 [0.012229s] ... ok {7} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_wrong_dir_path [0.007390s] ... ok WARNING [ironic_python_agent.agent] Cannot get route to host 1.2.1.2: Unexpected error while running command. Command: None Exit code: - Stdout: 'boom' Stderr: None WARNING [ironic_python_agent.agent] No route to host 1.2.1.2, route record: Error: some error text {6} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware [0.004383s] ... ok {1} ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_retry [0.011832s] ... ok {6} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_no_mlnx [0.002430s] ... ok {3} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_disable_embedded_lldp_agent_in_cna_card [0.010186s] ... ok {0} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_status [0.006092s] ... ok {5} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image [0.029696s] ... 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 714, in urlopen httplib_response = self._make_request( ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 403, in _make_request self._validate_conn(conn) File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1053, 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: : 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 489, in send resp = conn.urlopen( ^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 798, 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(': 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 565, 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(': Failed to establish a new connection: [Errno -2] Name or service not known')) {6} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_ib_interface [0.002323s] ... ok {7} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_no_cna_card_detected [0.007056s] ... ok {2} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_agent_token [0.021732s] ... ok WARNING [ironic_python_agent.agent] Ironic does not support automated TLS {1} ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_host [0.007627s] ... ok {7} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_evaluate_hardware_support [0.002923s] ... ok {5} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_prepare_partition_image_raw_and_stream_false [0.006185s] ... ok {0} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_true_wait [0.008389s] ... ok {3} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_evaluate_hardware_support_with_collect_lldp_enabled [0.009500s] ... ok {5} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_empty_urls [0.001831s] ... ok {0} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_smart_test [0.003271s] ... ok {3} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info [0.003101s] ... ok WARNING [root] Can't find field vendor fordevice lo 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 lo 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! {6} ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface_failed [0.013078s] ... ok {5} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_write_partition_image_no_node_uuid_uefi [0.005559s] ... 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 {7} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_failure [0.011221s] ... ok {5} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_detect_hardware_error [0.002452s] ... ok {5} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_generate_client_id [0.000825s] ... ok {3} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mlnx_interface [0.006422s] ... ok WARNING [root] Can't find field vendor fordevice lo in device class net WARNING [root] Can't find field vendor fordevice lo in device class net {6} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_async_command_success [0.006481s] ... ok {5} ironic_python_agent.tests.unit.hardware_managers.test_mlnx.MlnxHardwareManager.test_get_interface_info_no_mac_address [0.002659s] ... 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 714, in urlopen httplib_response = self._make_request( ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 403, in _make_request self._validate_conn(conn) File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1053, 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: : 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 489, in send resp = conn.urlopen( ^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 798, 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(': 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 565, 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(': Failed to establish a new connection: [Errno -2] Name or service not known')) {7} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv4 [0.008503s] ... ok {2} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_inspection [0.022041s] ... ok {6} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_invalid_node [0.005727s] ... ok WARNING [ironic_python_agent.agent] Ironic does not support automated TLS 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 {6} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid_unassociated [0.005665s] ... ok {5} ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_advertise_address_provided [0.011572s] ... 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 {3} ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_failed [0.014654s] ... ok {5} ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_route_with_ip [0.007316s] ... ok {6} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_list_command_results [0.007368s] ... ok {6} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader [0.002109s] ... 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' {3} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface_expired [0.009736s] ... ok WARNING [ironic_python_agent.agent] Could not get baremetal endpoint from mDNS, will not heartbeat {6} ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr [0.001901s] ... 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 714, in urlopen httplib_response = self._make_request( ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 403, in _make_request self._validate_conn(conn) File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1053, 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: : 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 489, in send resp = conn.urlopen( ^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 798, 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(': 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 565, 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(': Failed to establish a new connection: [Errno -2] Name or service not known')) {6} ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError [0.000988s] ... ok {7} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_with_sleep [0.023071s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_md_uuid [0.002065s] ... ok WARNING [ironic_python_agent.agent] Ironic does not support automated TLS 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.024882s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member [0.002013s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device [0.003123s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data [0.002456s] ... ok {3} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_indexerror [0.012770s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_partitions_detected [0.003069s] ... 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_ata_erase_disabled [0.003098s] ... ok {3} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_route_source_ipv6_linklocal [0.006152s] ... 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.test_agent.TestBaseAgent.test_run_with_ssl [0.014913s] ... ok WARNING [root] Failed to invoke secure erase, falling back to shred: Error erasing block device: An unknown error occurred erasing block device /dev/sda {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed_continued [0.003660s] ... 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 714, in urlopen httplib_response = self._make_request( ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 403, in _make_request self._validate_conn(conn) File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1053, 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: : 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 489, in send resp = conn.urlopen( ^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 798, 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(': 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 565, 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(': Failed to establish a new connection: [Errno -2] Name or service not known')) {7} ironic_python_agent.tests.unit.test_agent.TestBaseAgentVMediaToken.test_run_agent_token_vmedia [0.020229s] ... ok WARNING [ironic_python_agent.agent] Ironic does not support automated TLS 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_ata_security_enabled_unlock_attempt [0.004892s] ... ok {2} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_with_false_wait [0.008239s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_crypto_success [0.002226s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_ok [0.001558s] ... ok {2} ironic_python_agent.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute [0.001851s] ... ok {2} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_defaults [0.002301s] ... 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.001723s] ... ok {2} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_partner [0.001705s] ... 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 714, in urlopen httplib_response = self._make_request( ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 403, in _make_request self._validate_conn(conn) File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1053, 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: : 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 489, in send resp = conn.urlopen( ^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 798, 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(': 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 565, 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(': Failed to establish a new connection: [Errno -2] Name or service not known')) {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err4 [0.006896s] ... ok {2} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_no_role [0.001493s] ... ok {3} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run [0.020094s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address [0.001528s] ... ok WARNING [ironic_python_agent.agent] Ironic does not support automated TLS WARNING [ironic_python_agent.dmi_inspector] Failed to parse Handle type in dmi output: list index out of range {2} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_bad_data [0.001762s] ... ok WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Handle' {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_not_enabled [0.001778s] ... ok {2} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_handle [0.001074s] ... ok {7} ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test__heartbeat_expected [0.017934s] ... 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.001669s] ... 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 {2} ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_broken [0.002432s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_pxe_interface [0.001663s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_component_devices [0.002819s] ... ok {7} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_agent_status [0.006244s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus [0.001761s] ... 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 "", 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 {2} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_mount [0.007085s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_broken_raid0 [0.001699s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_poisoned_output [0.001678s] ... ok {7} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_v1_root [0.006072s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_bank_size [0.002885s] ... ok {7} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer_w_logfile [0.001995s] ... ok {7} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_non_default [0.001707s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v1 [0.002663s] ... ok {2} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_found_csv [0.010057s] ... 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 714, in urlopen httplib_response = self._make_request( ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 403, in _make_request self._validate_conn(conn) File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1053, 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: : 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 489, in send resp = conn.urlopen( ^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 798, 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(': 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 565, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known')) {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_no_root_device [0.004763s] ... ok {3} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_by_default [0.025595s] ... ok WARNING [ironic_python_agent.agent] Ironic does not support automated TLS {7} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_nvme_device [0.008612s] ... ok {2} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_ok [0.006116s] ... ok {7} ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_encoder [0.000980s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_iinfo [0.004699s] ... ok {2} ironic_python_agent.tests.unit.test_encoding.TestEncoder.test_ironic_lib [0.000960s] ... ok {7} ironic_python_agent.tests.unit.test_errors.TestErrors.test_RESTError_details [0.000850s] ... ok {2} ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_baseclass_serialize [0.000821s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_save_api_client [0.000977s] ... ok {2} ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_classes [0.001193s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_model [0.004863s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point [0.003423s] ... ok WARNING [root] Could not determine if /dev/sdfake is aread-only device. Error: {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_error [0.002031s] ... ok {2} ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks [0.005516s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_name [0.004519s] ... ok {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_set_password_exception [0.001966s] ... 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__is_read_only_device_partition_ok [0.003308s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_failure [0.001769s] ... ok {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_erase_exec_exception [0.001700s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info_lshw_list [0.001639s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures [0.003695s] ... ok {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_failure_with_nvme [0.003469s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid5 [0.002307s] ... ok {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_invalid_hints [0.001688s] ... 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 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 714, in urlopen httplib_response = self._make_request( ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 403, in _make_request self._validate_conn(conn) File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1053, 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: : 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 489, in send resp = conn.urlopen( ^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 798, 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(': 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 565, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known')) {3} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_url_from_mdns_explicitly [0.024193s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_skip_list_existing_device_does_not_match [0.003369s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device [0.008270s] ... ok WARNING [ironic_python_agent.agent] Ironic does not support automated TLS 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: 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: 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_create_configuration_invalid_raid_config [0.005051s] ... ok {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_max_is_first_logical [0.004056s] ... ok {3} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_success_no_wait [0.008209s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_interfaces_with_biosdevname [0.007545s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_hints [0.009862s] ... ok {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_no_max [0.003831s] ... 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 {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_frozen [0.003093s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_partition [0.003960s] ... ok {3} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token_invalid [0.006187s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_deploy_steps_exist [0.000927s] ... ok ERROR [ironic_python_agent.burnin] SMART test on /dev/sdj failed with 'string' {3} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status_missing [0.001862s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_interfaces_with_lldp_error [0.007930s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_without_disk [0.001720s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestListHardwareInfo.test_caching [0.001699s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_pstore [0.003251s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_mpathconf [0.002237s] ... ok {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency [0.008075s] ... ok WARNING [root] Attempted to determine if multipath tools were present. Not detected. Error recorded: {6} ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_not_found_mpath_config [0.002637s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_with_config [0.002178s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_process_exec_err3 [0.007050s] ... ok {6} ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_node_indicates_skip [0.001733s] ... ok WARNING [root] Cannot get BMC MAC address: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None {6} ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_not_found [0.003070s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_virt [0.003682s] ... ok {6} ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_missing_path [0.000989s] ... ok {6} ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_numeric_fields [0.000985s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_unexpected_devices [0.002160s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_arm64_lshw [0.002911s] ... ok {6} ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_ok [0.003686s] ... 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 {6} ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_execute_failed [0.001937s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_v2 [0.003417s] ... ok WARNING [ironic_python_agent.inspector] failed to get system journal {6} ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test_fail [0.001996s] ... ok {6} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_already_set [0.001639s] ... ok {6} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_set_via_conf [0.001532s] ... 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. {6} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_code [0.001289s] ... 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/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 {6} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_1 [0.001306s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device [0.007683s] ... ok {6} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_3 [0.001116s] ... ok {6} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_connection_error [0.001189s] ... ok {6} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_ip6 [0.001099s] ... ok {6} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_verify_ca [0.001355s] ... 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 {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_fails [0.006421s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_serial [0.004357s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_no_skip_list [0.000934s] ... ok WARNING [root] Path /dev/disk/by-path is inaccessible, /dev/disk/by-path/* version of block device name is unavailable Cause: {6} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_both_succeed [0.012085s] ... 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 {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_hctl_fail [0.006925s] ... ok ERROR [ironic_python_agent.netutils] Failed to open all RawPromiscuousSockets, attempting to close any opened sockets. {6} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_bind_fail [0.004445s] ... ok WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list [0.003955s] ... ok {6} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_memory_info [0.001691s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_skip_list_non_exist [0.003886s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi [0.001743s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__load_ipmi_modules [0.002545s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__udev_settle [0.001604s] ... 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 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 {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_error [0.067490s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success_raid [0.007419s] ... ok {7} ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_not_enabled [0.001673s] ... ok {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_static_address_both [0.003954s] ... ok {7} ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number_nvme [0.002119s] ... ok {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_uefi [0.001775s] ... ok {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_list [0.003472s] ... ok {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_rotational [0.008268s] ... ok WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_with_skip_list [0.003794s] ... ok WARNING [root] We have identified a multipath device sdd, this is being ignored in favor of dm-0 and its related child devices. {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_all_block_device_with_udev [0.007617s] ... ok {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_including_partitions [0.001874s] ... ok WARNING [root] No hardware manager was able to handle interface foobar {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_interfaces [0.007695s] ... ok {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_interfaces_with_bond [0.007261s] ... 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.004024s] ... 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_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB_nvme [0.072704s] ... 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 {2} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_raid_level [0.005561s] ... ok WARNING [root] Mismatched hardware managers versions. Agent version: {'specific': '1'}, node version: {'not_specific': '1'} {2} ironic_python_agent.tests.unit.test_hardware.TestVersions.test_check_versions [0.001758s] ... ok {2} ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_number [0.001997s] ... ok {6} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_error_counting [0.006568s] ... ok {2} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_on [0.002977s] ... ok {6} ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_absent [0.001849s] ... ok {6} ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_false [0.001529s] ... 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 {2} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner [0.003798s] ... ok {6} ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_command_fail [0.002371s] ... ok {2} ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_content_and_deleted [0.000929s] ... ok {2} ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_no_directories [0.000845s] ... ok ERROR [root] No partition with UUID 11111111-2222-3333-4444-555555555555 found on device /dev/fake {6} ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_no_device_found [0.002685s] ... ok ERROR [ironic_python_agent.utils] JSON returned from hardware-detect cannot be decoded: Expecting value: line 1 column 1 (char 0) {2} ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_parsing_failed [0.001686s] ... ok {7} ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_on_node [0.067337s] ... ok {6} ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_partuuid [0.002439s] ... ok {7} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete_not_exists [0.003097s] ... ok {6} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device [0.002388s] ... ok {7} ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_cache_hardware_info [0.003518s] ... ok {6} ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test_generate [0.003013s] ... ok {7} ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_boot_only [0.003022s] ... ok ERROR [ironic_python_agent.utils] collector failed: boom {6} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device_device_invalid [0.004129s] ... 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 "", 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 {2} ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collector_failed [0.012610s] ... ok {7} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_error [0.002345s] ... ok ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: usb {6} ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_other [0.001848s] ... ok {7} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test__get_ironic_api_version_fresh [0.001243s] ... ok ironic-python-agent: Device sdh was disqualified as virtual media. Type: other, Transport: scsi {6} ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_scsi [0.001616s] ... ok {6} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_uefi [0.001374s] ... ok {7} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception [0.006915s] ... ok {6} ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald_with_logfile [0.004582s] ... ok {7} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_protocol [0.000952s] ... ok {7} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_error_format_2 [0.001346s] ... ok {2} ironic_python_agent.tests.unit.test_inspector.TestInspect.test_mdns [0.012685s] ... ok {6} ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald_with_logfile [0.003939s] ... 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'. {6} ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_old_format_caps [0.000994s] ... ok {6} ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_lines [0.001529s] ... ok {6} ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_gpt [0.001358s] ... ok {6} ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_disk_label [0.001419s] ... ok GET: /v1/commands None GOT: {7} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_only [0.011685s] ... ok {2} ironic_python_agent.tests.unit.test_inspector.TestInspect.test_ok [0.011910s] ... ok {2} ironic_python_agent.tests.unit.test_inspector.TestMisc.test_default_collector_loadable [0.001128s] ... ok {2} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_409_status_code [0.001300s] ... ok {2} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node_retries [0.003135s] ... ok {2} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat_with_token [0.001190s] ... ok {7} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_generic_method_only [0.011646s] ... ok {2} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_mainline_fails [0.011741s] ... ok {7} ironic_python_agent.tests.unit.test_multi_hardware_clean_steps.TestMultipleHardwareManagerCleanSteps.test_clean_step_ordering [0.011938s] ... 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 {7} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_socket_recv_error [0.006245s] ... ok {7} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6 [0.001320s] ... ok {2} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_manager_method_not_found [0.011467s] ... ok WARNING [ironic_python_agent.numa_inspector] Failed to get list of NUMA nodes, NUMA node path does not exist: /sys/devices/system/node/ {7} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_nics_info [0.005035s] ... ok {2} ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_numa_dirs [0.004082s] ... ok {2} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_memory_info [0.004629s] ... ok {2} 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' {7} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive [0.020654s] ... ok {2} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_gpt_disk_label [0.004444s] ... ok {7} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_error [0.002710s] ... ok {2} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_configdrive_partition [0.004624s] ... ok {7} ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_DeployFail_exc [0.002019s] ... 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 {7} ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_exc [0.002570s] ... ok {2} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_swap_partition [0.003321s] ... ok {7} ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present_uppercase [0.001993s] ... ok {2} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_ppc64le_prep_part [0.005587s] ... ok {7} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_preserve_ephemeral [0.005389s] ... ok {2} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices_broken_raid0 [0.001797s] ... ok {2} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device [0.001900s] ... ok {7} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_without_image [0.003832s] ... ok {7} ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_no_device [0.001866s] ... ok {2} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_by_device [0.004544s] ... ok {7} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_fail_create_device [0.002001s] ... ok {7} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_get_volume_name_of_raid_device_invalid [0.001719s] ... ok {2} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file_fail [0.005515s] ... ok {7} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_esp_not_found [0.004996s] ... ok {2} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_server_is_none [0.002306s] ... ok {7} ironic_python_agent.tests.unit.test_utils.ExecuteTestCase.test_execute [0.001666s] ... ok ironic-python-agent: Excluding device sda1 from virtual mediaconsideration as it is a partition. ironic-python-agent: Found possible vmedia candidate /dev/sda2, however the device failed vmedia validity checking. ironic-python-agent: /some/path/etc/ironic-python-agent not found ironic-python-agent: /some/path/etc/ironic-python-agent.d not found {7} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels [0.002174s] ... ok {2} ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_mounted_no_files [0.003962s] ... ok {7} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_device [0.003745s] ... ok {2} ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_ok [0.003601s] ... ok {2} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_dict [0.001546s] ... ok {7} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_kernel_cmdline [0.002868s] ... ok {2} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_override_with_instance_info [0.001476s] ... ok {2} ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_dict [0.000819s] ... ok {7} ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device [0.001875s] ... ok ERROR [ironic_python_agent.utils] Failed to sync time using chrony to ntp server: 192.168.1.1: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: 'time verboten' {7} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony_failure [0.002570s] ... ok {2} ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_command_output [0.004121s] ... ok {2} ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_fail [0.001726s] ... ok {2} ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_ssl_client_options [0.001455s] ... ok POST: /v1/commands?wait=false {'name': 'do_things', 'params': {'key': 'value'}} GOT: ironic-python-agent: Cannot use configuration from virtual media as the agent was not booted from virtual media. {7} ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_vmedia_found_not_booted_from_vmedia [0.005915s] ... ok {7} ironic_python_agent.tests.unit.test_utils.TestRemoveKeys.test_remove_keys [0.000089s] ... ok ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. WARNING [ironic_python_agent.extensions.standby] Image download failed, 0 of 2: Error downloading image: Download of image fake_id failed: Unable to write image to device /dev/foo. Error: Error downloading image: Download of image fake_id failed: Timed out reading next chunk from webserver {1} ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run [1.017349s] ... ok {1} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test__wait_for_interface [0.007913s] ... 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 [root] Can't find field vendor fordevice lo in device class net WARNING [root] Can't find field vendor fordevice lo in device class net ERROR [ironic_python_agent.agent] Neither ipa-api-url nor inspection_callback_urlfound, please check your pxe append parameters. WARNING [ironic_python_agent.agent] Ironic does not support automated TLS {1} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_without_inspection_and_apiurl [0.021819s] ... ok {5} ironic_python_agent.tests.unit.test_agent.TestAgentStandalone.test_run_no_tls [1.014535s] ... ok {1} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_not_found [0.005891s] ... ok {1} ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute [0.001791s] ... ok ERROR [ironic_python_agent.burnin] fio (disk) failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None {1} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_fio [0.002922s] ... ok {5} ironic_python_agent.tests.unit.test_agent.TestHeartbeater.test_heartbeat [0.019743s] ... ok {5} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_params_validation [0.006479s] ... ok {5} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_validation [0.005419s] ... ok {5} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_execute_agent_command_with_token [0.006708s] ... ok {5} ironic_python_agent.tests.unit.test_api.TestIronicAPI.test_get_command_result [0.005361s] ... ok {5} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_no_default [0.002473s] ... ok {5} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_default [0.001566s] ... 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 {5} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_no_stress_ng [0.001729s] ... ok {5} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_bios [0.000845s] ... ok {5} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data [0.000758s] ... ok {5} ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders [0.001761s] ... ok {5} ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_efi_bootloaders_no_csv [0.003975s] ... ok {5} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_wholedisk [0.005924s] ... ok {5} ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_equal [0.000789s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_no_wait_for_disks [0.009792s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_false [0.003043s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_clean_steps_exist [0.000847s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_mismatching_hints [0.012198s] ... 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.006708s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_virtual_media [0.001630s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express_stops_on_safety_failure [0.063454s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac [0.001820s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_enables [0.001933s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_invalid_get_address [0.001937s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_boot_info_bios [0.001596s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks [0.001808s] ... 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 "", 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 {5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v2 [0.004059s] ... 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.006525s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_by_path [0.004888s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_not_int [0.002650s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_wwn [0.003889s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_system_vendor_info [0.001626s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_vlan_invalid_int [0.012666s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_raises [0.002800s] ... ok {5} ironic_python_agent.tests.unit.test_hardware.TestVersions.test_get_current_versions [0.001554s] ... ok {1} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_2nd [0.208992s] ... ok {5} ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_ok [0.001793s] ... ok {1} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_missing_config [0.001667s] ... ok {1} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_vm_default [0.001534s] ... ok ERROR [ironic_python_agent.utils] failed to run dmidecode: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None {1} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_failure [0.001645s] ... ok {5} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_delete [0.004150s] ... ok {1} ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__no_efi_bootloaders [0.001919s] ... ok {5} ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_ok [0.002432s] ... ok {1} ironic_python_agent.tests.unit.test_efi_utils.TestGetPartitionPathByNumber.test_ok [0.002063s] ... ok {5} ironic_python_agent.tests.unit.test_inspector.TestCollectLogs.test [0.001638s] ... ok {1} ironic_python_agent.tests.unit.test_encoding.TestSerializable.test_childclass_serialize [0.000754s] ... ok {1} ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_notequal [0.000744s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestAPIClientSaveAndUse.test_update_node_cache [0.002332s] ... 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: {5} ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_bad_pci_device_info [0.005325s] ... ok WARNING [root] The root device was not detected in 27 seconds {1} ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_unconfigured [0.005541s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__ata_erase_security_enabled_unlock_exception [0.001817s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__find_pstore_mount_point_no_pstore [0.003008s] ... ok {5} ironic_python_agent.tests.unit.test_inspector.TestInspect.test_inspector_error [0.011686s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__get_device_info [0.002956s] ... ok {5} ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_disabled [0.001608s] ... ok WARNING [ironic_python_agent.ironic_api_client] Got invalid heartbeat from the API: {'node': {'uuid': 'deadbeef-dabb-ad00-b105-f00d00bab10c'}} {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists [0.002384s] ... ok {5} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_no_heartbeat_timeout [0.001567s] ... ok {5} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_requests_exception [0.001228s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration [0.003187s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_device_handling_failures_raid6 [0.001910s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_6 [0.004116s] ... ok {5} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_fails [0.011555s] ... 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.) {5} ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_failure [0.004856s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_skip_list [0.006327s] ... FAILED Captured traceback: ~~~~~~~~~~~~~~~~~~~ Traceback (most recent call last): File "/usr/lib64/python3.11/unittest/mock.py", line 1375, in patched return func(*newargs, **newkeywargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/tests/unit/test_hardware.py", line 4481, in test_create_configuration_with_skip_list mocked_execute.assert_has_calls([ File "/usr/lib64/python3.11/unittest/mock.py", line 222, in assert_has_calls return mock.assert_has_calls(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/unittest/mock.py", line 976, in assert_has_calls raise AssertionError( AssertionError: Calls not found. Expected: [call('mdadm', '--examine', '/dev/md0', use_standard_locale=True), call('parted', '/dev/sda', '-s', '--', 'mklabel', 'msdos'), call('sgdisk', '-F', '/dev/sda'), call('parted', '/dev/sdb', '-s', '--', 'mklabel', 'msdos'), call('sgdisk', '-F', '/dev/sdb'), call('parted', '/dev/sda', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '42s', '10GiB'), call('partx', '-av', '/dev/sda', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('parted', '/dev/sdb', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '42s', '10GiB'), call('partx', '-av', '/dev/sdb', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('mdadm', '--create', '/dev/md0', '--force', '--run', '--metadata=1', '--level', '1', '--name', 'small', '--raid-devices', 2, '/dev/sda1', '/dev/sdb1')] Actual: [call('mdadm', '--examine', '/dev/md0', use_standard_locale=True), call('parted', '/dev/sda', '-s', '--', 'mklabel', 'gpt'), call('parted', '/dev/sdb', '-s', '--', 'mklabel', 'gpt'), call('parted', '/dev/sda', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '551MiB', '10GiB'), call('partx', '-av', '/dev/sda', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('parted', '/dev/sdb', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '551MiB', '10GiB'), call('partx', '-av', '/dev/sdb', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('mdadm', '--create', '/dev/md0', '--force', '--run', '--metadata=1', '--level', '1', '--name', 'small', '--raid-devices', 2, '/dev/sda1', '/dev/sdb1')] ERROR [root] Unable to clean all softraid correctly. Remaining ['/dev/md0'] {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration_failure_blocks_remaining [0.004487s] ... 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 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.) {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_success_no_smartctl [0.002785s] ... ok {5} ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_no_nics_dirs [0.006255s] ... ok ERROR [root] Erasing block device /dev/sda failed with error Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_fail_processerror [0.001685s] ... ok {5} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format_cores_info [0.001750s] ... 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_shred_uses_internal_info [0.004260s] ... 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] Refusing to permit ATA Secure Erase as direct ATA commands via the `smartctl` utility with device /dev/sda do not succeed. {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_fails_security_fallback_to_shred [0.002435s] ... 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 {5} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_exc [0.009549s] ... ok {5} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_part_create_fail [0.007579s] ... ok {5} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_status_code [0.002803s] ... ok {5} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_base64_string [0.016924s] ... ok {5} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_binary [0.003075s] ... ok {5} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_insecure [0.017388s] ... ok {5} ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_true [0.001714s] ... ok {5} 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' 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' {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata [0.067602s] ... 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_fail_read_device [0.003328s] ... ok {5} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_with_volume_name [0.002421s] ... ok {5} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__read_params_from_file [0.003893s] ... ok ironic-python-agent: line 1. ironic-python-agent: line 2 message {5} ironic_python_agent.tests.unit.test_utils.TestCheckEarlyLogging.test_early_logging_goes_to_logger [0.009841s] ... ok {5} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_none [0.001743s] ... ok {5} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp [0.002252s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default [0.024313s] ... ok ironic-python-agent: Copying configuration from /tmp/tmpm1o7vtge/etc/ironic-python-agent to /etc/ironic-python-agent ironic-python-agent: Copying configuration from /tmp/tmpm1o7vtge/etc/ironic-python-agent.d to /etc/ironic-python-agent.d {5} ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy_mounted [0.005491s] ... ok ironic-python-agent: No virtual media device detected ERROR [ironic_python_agent.utils] foo {5} ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_vmedia [0.003761s] ... ok 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.000558s] ... ok {5} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_fallback_bios [0.001620s] ... ok {5} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_json_str [0.001514s] ... ok {5} ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_disks_too_small [0.001650s] ... ok {5} ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_primary_sort [0.001739s] ... ok {5} ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present_false [0.001614s] ... ok {5} ironic_python_agent.tests.unit.test_utils.TestUtils.test_secure_boot_overriden_with_instance_info_caps [0.001360s] ... ok {7} ironic_python_agent.tests.unit.test_utils.TestStreamingClient.test_retries [1.003075s] ... ok {5} ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_with_instance_disk_label [0.001441s] ... ok {7} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_properties_str [0.001798s] ... ok {7} ironic_python_agent.tests.unit.test_utils.TestUtils.test_device_extractor [0.000875s] ... ok POST: /v1/commands {'name': 'do_things', 'params': []} GOT: POST: /v1/commands {} GOT: POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} GOT: GET: /v1/commands/abc123 None GOT: {7} ironic_python_agent.tests.unit.test_utils.TestUtils.test_guess_root_disk_secondary_sort [0.001671s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_no_parallel_by_default_protected_device [0.023085s] ... ok GET: /v1/status None GOT: GET: /v1 None GOT: 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 {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_not_available [0.002694s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_zeroed [0.002014s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_ipmitool_invalid_stdout_format [0.012036s] ... ok WARNING [root] Failed to get CPU flags {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_no_flags [0.002042s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size_str [0.004805s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_skip_list_non_exist [0.004653s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_skip_list_from_node_block_devices_just_raids [0.000922s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_interfaces_no_carrier [0.007840s] ... 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' {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_normal_vs_enhanced_security_erase [0.004330s] ... 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 {1} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_MAX_MAX [0.004965s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test__check_for_iscsi_no_iscsi [0.001751s] ... 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 {1} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_success [0.005781s] ... ok {1} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_wrong_block_type [0.004330s] ... ok {1} ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found [0.003208s] ... ok {1} ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_verify_false [0.003849s] ... ok {1} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url [0.003401s] ... ok {1} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_url_formatting [0.003390s] ... ok {1} ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_send_failure [0.002986s] ... ok ERROR [ironic_python_agent.utils] Failed to get list of PCI devices: {1} ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_wrong_path [0.001961s] ... ok ERROR [ironic_python_agent.utils] boom {1} ironic_python_agent.tests.unit.test_inspector.TestInspect.test_extensions_failed [0.012827s] ... ok {1} ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_pxelinux_mac [0.000927s] ... ok {1} ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_all [0.002837s] ... ok {1} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_with_uuid [0.001561s] ... ok {1} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv4 [0.000879s] ... ok {1} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_node [0.002581s] ... ok {1} ironic_python_agent.tests.unit.test_multi_hardware.TestNoHardwareManagerLoading.test_no_managers_found [0.011554s] ... ok {1} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info [0.005374s] ... ok WARNING [ironic_python_agent.netutils] Trailing byte received in an LLDP package: b'5' {1} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_malformed [0.005636s] ... ok {1} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_memory_info [0.004938s] ... ok {1} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_numa_format_memory_info [0.006402s] ... ok {1} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB_nvme [0.008435s] ... ok {1} ironic_python_agent.tests.unit.test_partition_utils.IsDiskLargerThanMaxSizeTestCases.test_is_disk_larger_than_max_size_exc [0.002715s] ... ok {1} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_convert_to_sparse [0.005521s] ... ok {1} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_ephemeral_partition [0.003379s] ... ok {1} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_uefi [0.005738s] ... ok {1} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_gpt [0.003244s] ... ok {1} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt [0.004485s] ... ok {1} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_uefi_gpt_efi_provided [0.003912s] ... ok {1} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params [0.004051s] ... ok {1} ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_rom [0.001834s] ... ok {1} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_chronyd [0.001715s] ... ok {1} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_determine_time_method_ntpdate [0.001713s] ... ok {1} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_chrony [0.002408s] ... 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 {1} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_ntp_raises_exception [0.002377s] ... ok GET: /v1/foo None GOT: 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 {3} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_timeout [2.009983s] ... ok {3} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_no_defaults [0.002394s] ... ok ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: 16 Stdout: 'Connection timeout' Stderr: None ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: 16 Stdout: 'Connection timeout' Stderr: None ERROR [ironic_python_agent.burnin] fio (network) failed with error Unexpected error while running command. Command: None Exit code: 16 Stdout: 'Connection refused' Stderr: None {3} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_loop [0.003264s] ... ok {3} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_cpu [0.000798s] ... ok WARNING [ironic_python_agent.efi_utils] Empty EFI partition detected. {3} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_empty_partition_by_uuid [0.004309s] ... ok {3} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_no_partition [0.003967s] ... ok WARNING [root] The root device was not detected in 27 seconds {3} ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout [0.005613s] ... ok {3} ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_nonconfigured [0.011000s] ... ok {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_linux_raid_member_false [0.001612s] ... ok {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_exists_no_match [0.002296s] ... ok {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_apply_configuration_no_delete [0.002912s] ... ok {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_decode_exception [0.009169s] ... ok {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_nvme [0.066859s] ... ok WARNING [root] Failed to remove partitions on /dev/sda: Unexpected error while running command. Command: None Exit code: - Stdout: 'No md superblock detected' Stderr: None WARNING [root] Failed to remove partitions on /dev/sdb: Unexpected error while running command. Command: None Exit code: - Stdout: 'No md superblock detected' Stderr: None {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_delete_configuration [0.005243s] ... 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 {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_failed [0.003163s] ... 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 {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_ata_security_enabled [0.003400s] ... 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_security_unlock_fallback_pass [0.002664s] ... 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_notsupported_shred [0.002300s] ... ok {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_invalid [0.001561s] ... ok WARNING [root] Cannot get BMC address: Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_virt [0.001870s] ... ok {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_random_error [0.001596s] ... ok WARNING [root] Using hint {'vendor': 'basic vendor'} skipping devices: /dev/sdb,/dev/sda {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_complete_skip_list [0.004952s] ... ok {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_vendor [0.004675s] ... ok WARNING [root] Using hint {'name': '/dev/sdj'} skipping devices: /dev/sdj WARNING [root] Using hint {'name': '/dev/hdaa'} skipping devices: /dev/hdaa {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_with_complete_skip_list [0.005833s] ... ok {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_vlan_interfaces [0.008733s] ... ok {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_vlan_interfaces_using_lldp [0.009622s] ... ok {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_vlan_interfaces_using_lldp_all [0.007999s] ... ok {3} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_no_configuration [0.001679s] ... 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 {3} ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_lacking_support [0.002417s] ... ok {3} ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_with_on_as_path [0.001952s] ... ok {3} ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_empty [0.001491s] ... ok {3} ironic_python_agent.tests.unit.test_inject_files.TestInjectFiles.test_invalid_type_in_param [0.001654s] ... ok {3} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes [0.002949s] ... ok {3} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_modes_exists [0.003572s] ... ok {3} ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_root_without_on [0.001129s] ... ok {3} ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_retries [0.042911s] ... ok {3} ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_no_benchmarks [0.001915s] ... ok {3} ironic_python_agent.tests.unit.test_inspector.TestMisc.test_raise_on_wrong_collector [0.001026s] ... ok {3} ironic_python_agent.tests.unit.test_inspector.TestNormalizeMac.test_correct_mac [0.000747s] ... ok WARNING [ironic_python_agent.inspector] Not all network interfaces received IP addresses in 1 seconds: ['em0'] {3} ironic_python_agent.tests.unit.test_inspector.TestWaitForDhcp.test_timeout [0.003876s] ... ok {3} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_transient_exceptions [0.009851s] ... ok {3} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_agent_version_unsupported [0.001380s] ... ok {3} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_successful_heartbeat [0.001220s] ... ok ERROR [root] Unexpected error dispatching unexpected_fail to manager : 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 {3} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_method_fails [0.012779s] ... ok {3} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_multiple [0.005262s] ... ok WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth1', )] {3} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_one_empty_interface [0.005408s] ... ok {3} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets [0.004339s] ... ok {3} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_wrap_ipv6_with_ipv4 [0.000948s] ... ok {3} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_thread_dirs [0.003367s] ... ok {3} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_nics_info [0.004885s] ... ok {3} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_threaddir_format_cores_info [0.005089s] ... ok {3} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_under_2TB [0.008363s] ... ok {3} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_conf_drive_sz_exceed [0.003706s] ... ok {3} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_bad_url [0.004944s] ... ok {3} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_gzip_error [0.017470s] ... ok {3} ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test [0.002545s] ... ok {3} ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_fallback_partuuid [0.002571s] ... ok {3} ironic_python_agent.tests.unit.test_raid_utils.TestGetNextFreeRaidDevice.test_ok [0.001599s] ... ok {3} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_prepare_boot_partitions_for_softraid_bios_msdos [0.002509s] ... ok ironic-python-agent: Was unable to execute the lsblk command. Unexpected error while running command. Command: None Exit code: - Stdout: None Stderr: None {3} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_handles_exec_error [0.001594s] ... ok {3} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_from_cache [0.002301s] ... ok ironic-python-agent: Excluding device sdh1 from virtual mediaconsideration as it is a partition. {3} ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_part [0.001583s] ... ok ironic-python-agent: Device sdh was disqualified as virtual media. Type: disk, Transport: sata {3} ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_sata [0.001559s] ... ok ERROR [ironic_python_agent.utils] foo {3} ironic_python_agent.tests.unit.test_utils.TestFailures.test_raise [0.000290s] ... ok {3} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_invalid_cap [0.001366s] ... ok {3} ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_non_journald [0.003849s] ... ok {3} ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output_with_units [0.001527s] ... ok POST: /v1/commands {'name': 'do_things', 'params': {'key': 'value'}} GOT: POST: /v1/commands?wait=false?agent_token=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 {'name': 'do_things', 'params': {'key': 'value', 'wait': False, 'agent_token': '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'}} GOT: ERROR [ironic_python_agent.extensions.standby] Timeout reached waiting for a chunk of data from a remote server. {4} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_stream_raw_image_onto_device_socket_read_timeout [3.011213s] ... ok {4} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_sync [0.002822s] ... ok {4} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_invalid_checksum [0.001722s] ... ok {4} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_validate_image_info_success_without_md5 [0.001625s] ... ok {4} ironic_python_agent.tests.unit.extensions.test_standby.TestStandbyExtension.test_verify_image_success_with_new_hash_fields [0.006171s] ... ok {4} ironic_python_agent.tests.unit.hardware_managers.test_cna.TestIntelCnaHardwareManager.test_detect_cna_card_no_i40e_driver [0.002388s] ... ok WARNING [root] Can't find field vendor fordevice lo 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 lo in device class net {0} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_find_pair_1st [3.007604s] ... ok {4} ironic_python_agent.tests.unit.test_agent.TestAdvertiseAddress.test_with_network_interface [0.012255s] ... ok {0} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_dmidecode_info_ok [0.001830s] ... ok {0} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_parse_dmi_memory [0.000814s] ... ok WARNING [ironic_python_agent.dmi_inspector] Failed to process memory dmi data: 'Number Of Devices' {0} ironic_python_agent.tests.unit.test_dmi_inspector.TestCollectDmidecodeInfo.test_save_data_error_number_of_devices [0.001169s] ... ok {4} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_get_node_uuid [0.005323s] ... 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 131, in manage_uefi utils.execute('mount', efi_partition, efi_partition_mount_point) File "", 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 {0} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure [0.006443s] ... ok {0} ironic_python_agent.tests.unit.test_efi_utils.TestRunEfiBootmgr.test__run_efibootmgr_no_bootloaders [0.002526s] ... ok {0} ironic_python_agent.tests.unit.test_encoding.TestSerializableComparable.test_childclass_hash [0.000753s] ... ok {0} ironic_python_agent.tests.unit.test_errors.TestErrors.test_error_string [0.000758s] ... ok WARNING [root] The root device was not detected in 45 seconds {0} ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_disks_timeout_configured [0.007485s] ... ok WARNING [root] Could not determine if /dev/sdfake1 is aread-only device. Error: {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_read_only_device_partition_error [0.001971s] ... 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 714, in urlopen httplib_response = self._make_request( ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 403, in _make_request self._validate_conn(conn) File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1053, 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: : 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 489, in send resp = conn.urlopen( ^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 798, 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(': 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 565, 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(': Failed to establish a new connection: [Errno -2] Name or service not known')) {4} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_listen_host_port [0.020684s] ... ok {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test__is_virtual_media_device_path_doesnt_exist [0.002297s] ... ok WARNING [ironic_python_agent.agent] Ironic does not support automated TLS {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_collect_lldp_data_netutils_exception [0.001579s] ... ok {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_empty_target_raid_config [0.000780s] ... ok {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_raid_5 [0.003876s] ... ok {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_complete_skip_list [0.003586s] ... 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' {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nosecurity_shred [0.002388s] ... ok {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_failed [0.002492s] ... ok ERROR [root] nvme-cli did not return any supported format modes for device: /dev/nvme0n1 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 714, in urlopen httplib_response = self._make_request( ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 403, in _make_request self._validate_conn(conn) File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1053, 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: : 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 489, in send resp = conn.urlopen( ^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 798, 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(': 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 565, 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(': Failed to establish a new connection: [Errno -2] Name or service not known')) {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_format_unsupported [0.002310s] ... ok {4} ironic_python_agent.tests.unit.test_agent.TestBaseAgent.test_run_raise_keyboard_interrupt [0.020155s] ... ok {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_shred_0_pass_no_zeroize [0.002648s] ... ok WARNING [ironic_python_agent.agent] Ironic does not support automated TLS 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_api.TestIronicAPI.test_root [0.006017s] ... ok {4} ironic_python_agent.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute [0.001126s] ... ok {4} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test__smart_test_status [0.001670s] ... ok {4} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_disk_default [0.004432s] ... ok {4} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_dynamic_pairing_raise_wrong_config [0.001572s] ... ok {4} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_reader_w_logfile [0.001595s] ... ok {4} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_unknown_role [0.001525s] ... ok {4} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_fio_network_writer [0.001860s] ... 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 {4} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_no_stress_ng [0.001688s] ... ok {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_concurrency_pool_size [0.023035s] ... ok {4} ironic_python_agent.tests.unit.test_burnin.TestBurnin.test_stress_ng_cpu_non_default [0.001508s] ... ok WARNING [root] Invalid IP address meow: 'meow' does not appear to be an IPv4 or IPv6 address {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_iterate_channels [0.001846s] ... ok {4} ironic_python_agent.tests.unit.test_efi_utils.TestGetEfiBootloaders.test__get_windows_efi_bootloaders [0.001698s] ... ok {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_random_error [0.001671s] ... ok {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_address_zeroed [0.001658s] ... ok WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output WARNING [root] Invalid ipmitool output {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_not_available [0.002147s] ... 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 "", 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 {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_clean_steps [0.000806s] ... 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 {4} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_failure_after_failure [0.007203s] ... ok {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus2 [0.001717s] ... ok WARNING [root] Malformed CPU flags information: ('I am not a flag', '') {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_cpus_illegal_flags [0.001763s] ... ok {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_nvme [0.001638s] ... ok {4} ironic_python_agent.tests.unit.test_efi_utils.TestManageUefi.test_software_raid [0.008432s] ... 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'} {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_skip_list [0.008368s] ... ok {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices_check_skip_list_no_skip_list [0.001780s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestEvaluateHardwareSupport.test_evaluate_hw_waits_for_disks_configured [0.010638s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration [0.004276s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_efi [0.004055s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_force_gpt_with_disk_label [0.004066s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_skip_list_no_existing_device [0.007805s] ... FAILED Captured traceback: ~~~~~~~~~~~~~~~~~~~ Traceback (most recent call last): File "/usr/lib64/python3.11/unittest/mock.py", line 1375, in patched return func(*newargs, **newkeywargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/tests/unit/test_hardware.py", line 4613, in test_create_configuration_with_skip_list_no_existing_device mocked_execute.assert_has_calls([ File "/usr/lib64/python3.11/unittest/mock.py", line 222, in assert_has_calls return mock.assert_has_calls(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/unittest/mock.py", line 976, in assert_has_calls raise AssertionError( AssertionError: Calls not found. Expected: [call('parted', '/dev/sda', '-s', '--', 'mklabel', 'msdos'), call('sgdisk', '-F', '/dev/sda'), call('parted', '/dev/sdb', '-s', '--', 'mklabel', 'msdos'), call('sgdisk', '-F', '/dev/sdb'), call('parted', '/dev/sda', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '42s', '10GiB'), call('partx', '-av', '/dev/sda', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('parted', '/dev/sdb', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '42s', '10GiB'), call('partx', '-av', '/dev/sdb', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('parted', '/dev/sda', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '10GiB', '-1'), call('partx', '-av', '/dev/sda', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('parted', '/dev/sdb', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '10GiB', '-1'), call('partx', '-av', '/dev/sdb', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('mdadm', '--create', '/dev/md0', '--force', '--run', '--metadata=1', '--level', '1', '--name', 'small', '--raid-devices', 2, '/dev/sda1', '/dev/sdb1'), call('mdadm', '--create', '/dev/md1', '--force', '--run', '--metadata=1', '--level', '0', '--name', 'large', '--raid-devices', 2, '/dev/sda2', '/dev/sdb2')] Actual: [call('parted', '/dev/sda', '-s', '--', 'mklabel', 'gpt'), call('parted', '/dev/sdb', '-s', '--', 'mklabel', 'gpt'), call('parted', '/dev/sda', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '551MiB', '10GiB'), call('partx', '-av', '/dev/sda', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('parted', '/dev/sdb', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '551MiB', '10GiB'), call('partx', '-av', '/dev/sdb', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('parted', '/dev/sda', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '10GiB', '-1'), call('partx', '-av', '/dev/sda', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('parted', '/dev/sdb', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '10GiB', '-1'), call('partx', '-av', '/dev/sdb', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('mdadm', '--create', '/dev/md0', '--force', '--run', '--metadata=1', '--level', '1', '--name', 'small', '--raid-devices', 2, '/dev/sda1', '/dev/sdb1'), call('mdadm', '--create', '/dev/md1', '--force', '--run', '--metadata=1', '--level', '0', '--name', 'large', '--raid-devices', 2, '/dev/sda2', '/dev/sdb2')] 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_success [0.002848s] ... ok {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_interfaces_with_lldp [0.068909s] ... ok {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_network_interfaces_with_vendor_info [0.007338s] ... ok {0} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_invalid_no_of_raids [0.001756s] ... ok {0} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_missing [0.004502s] ... ok WARNING [root] Could not find the SCSI address (HCTL) for device /dev/sda1. Skipping {0} ironic_python_agent.tests.unit.test_hardware.TestModuleFunctions.test_list_all_block_devices_partuuid_success [0.005708s] ... ok {0} ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on [0.002075s] ... ok {0} ironic_python_agent.tests.unit.test_inject_files.TestFindPartitionWithPath.test_found_with_dev [0.003186s] ... ok {0} ironic_python_agent.tests.unit.test_inject_files.TestValidateFiles.test_unknown_fields [0.000935s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_nvme_userdata_success [0.067066s] ... 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.001830s] ... 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' {0} ironic_python_agent.tests.unit.test_inspector.TestCollectPciDevicesInfo.test_success [0.005522s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_block_device_smartctl_unsupported_shred [0.002674s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_express [0.004442s] ... 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' {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_erase_devices_metadata_safety_check [0.004567s] ... ok WARNING [root] Executable 'biosdevname' not found {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bios_given_nic_name_oserror [0.001879s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_invalid [0.001659s] ... ok WARNING [root] Invalid ipmitool output meow {0} ironic_python_agent.tests.unit.test_inspector.TestInspect.test_collectors_option [0.014687s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_mac_iterate_channels [0.001822s] ... ok {0} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup [0.001307s] ... 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} {0} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_data [0.001208s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_channel_7 [0.003146s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_bmc_v6address_dynamic_address [0.002684s] ... ok {0} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_unknown_exception_fallback [0.006764s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_holder_disks_with_whole_device [0.003342s] ... ok {0} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_get_agent_url_ipv6 [0.000996s] ... ok WARNING [root] Could not get real physical RAM from lshw: {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_lshw_exception [0.002645s] ... 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 "", 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 {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_memory_psutil_exception_v1 [0.003745s] ... 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 {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_multipath [0.008175s] ... 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 {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_not_multipath [0.011559s] ... 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} {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_no_device_found [0.006124s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_get_os_install_device_root_device_hints_size [0.004460s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_block_devices [0.001843s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_list_hardware_info [0.003083s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1 [0.001542s] ... 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 {4} ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_validate_configuration_valid_raid1_raidN [0.004085s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestMultipathEnabled.test_enable_multipath_no_multipath [0.002307s] ... ok {4} ironic_python_agent.tests.unit.test_hardware.TestProtectedDiskSafetyChecks.test_special_filesystem_guard_enabled_no_results [0.001650s] ... ok {4} ironic_python_agent.tests.unit.test_inject_files.TestFindAndMountPath.test_without_on_wrong_path [0.000874s] ... ok {4} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content [0.003101s] ... ok {4} ironic_python_agent.tests.unit.test_inject_files.TestInjectOne.test_plain_content_with_owner_and_group [0.003988s] ... ok ERROR [ironic_python_agent.inspector] inspector url error 400: , proceeding with lookup {4} ironic_python_agent.tests.unit.test_inspector.TestCallInspector.test_inspector_error [0.003205s] ... ok WARNING [ironic_python_agent.inspector] no suitable root device detected {4} ironic_python_agent.tests.unit.test_inspector.TestCollectDefault.test_no_root_disk [0.003427s] ... ok {4} ironic_python_agent.tests.unit.test_inspector.TestCollectExtraHardware.test_benchmarks [0.002431s] ... 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'} {4} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_do_lookup_bad_response_body [0.001401s] ... ok {4} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_heartbeat_invalid_status_code [0.001293s] ... ok {4} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_both_succeed [0.011537s] ... ok {4} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_manager_method_not_found [0.013213s] ... ok WARNING [ironic_python_agent.netutils] LLDP timed out, remaining interfaces: [('eth0', ), ('eth1', )] {0} ironic_python_agent.tests.unit.test_ironic_api_client.TestBaseIronicPythonAgent.test_lookup_timeout [0.102702s] ... ok {4} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_get_lldp_info_empty [0.005830s] ... ok {4} ironic_python_agent.tests.unit.test_netutils.TestNetutils.test_raw_promiscuous_sockets_exception [0.004037s] ... ok {0} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_dispatch_to_all_managers_generic_method_only [0.011520s] ... ok {4} ironic_python_agent.tests.unit.test_numa_inspector.TestCollectNumaTopologyInfo.test_collect_success [0.006239s] ... ok {4} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_bad_nodes_cores_info [0.005640s] ... ok {4} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_valid_format [0.000836s] ... ok {4} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_no_nics_dir [0.004396s] ... ok {0} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_mainline_method_only [0.011414s] ... ok {4} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_nodes_invalid_memory_unit [0.004227s] ... ok {4} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_exists [0.006250s] ... ok ERROR [root] Unexpected error dispatching unexpected_fail to manager : 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 {0} ironic_python_agent.tests.unit.test_multi_hardware.TestMultipleHardwareManagerLoading.test_method_fails [0.012561s] ... ok {0} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_nodes_cores_info [0.007290s] ... ok {0} ironic_python_agent.tests.unit.test_numa_inspector.TestGetNumaTopologyInfo.test_get_numa_node_id_invalid_format [0.001143s] ... ok {0} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test__create_partition_mbr_disk_exceeds_2TB [0.008210s] ... ok {4} ironic_python_agent.tests.unit.test_partition_utils.GetConfigdriveTestCase.test_get_configdrive_ssl [0.020317s] ... ok {4} ironic_python_agent.tests.unit.test_partition_utils.TestGetPartition.test_label [0.002567s] ... ok WARNING [ironic_python_agent.raid_utils] Found /dev/sdb1 to be missing from /dev/md0 ... re-adding! {0} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_gpt [0.006301s] ... ok {4} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test_create_raid_device_missing_device [0.002608s] ... ok {0} ironic_python_agent.tests.unit.test_partition_utils.CreateConfigDriveTestCases.test_create_partition_num_parts_exceed [0.006436s] ... ok {0} ironic_python_agent.tests.unit.test_partition_utils.GetLabelledPartitionTestCases.test_get_partition_present [0.001793s] ... ok {4} ironic_python_agent.tests.unit.test_tls_utils.GenerateTestCase.test__generate [0.007972s] ... ok ironic-python-agent: Did not identify any virtual media candidates devices. {4} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__find_vmedia_device_by_labels_not_found [0.001923s] ... ok {0} ironic_python_agent.tests.unit.test_partition_utils.WorkOnDiskTestCase.test_no_root_partition [0.002953s] ... ok {0} ironic_python_agent.tests.unit.test_raid_utils.TestRaidUtils.test__get_actual_component_devices [0.001571s] ... ok {4} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test_get_agent_params_vmedia [0.003653s] ... ok {0} ironic_python_agent.tests.unit.test_utils.GetAgentParamsTestCase.test__get_vmedia_params_cannot_find_dev [0.002030s] ... 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 WARNING [ironic_python_agent.utils] Device /dev/fake1 is inaccessible, skipping... Error: nope {0} ironic_python_agent.tests.unit.test_utils.TestCheckVirtualMedia.test_check_vmedia_device_too_large [0.001587s] ... ok {4} ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_udev [0.002904s] ... ok {4} ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type [0.001379s] ... ok ERROR [ironic_python_agent.utils] Unable to sync clock, available methods of 'ntpdate' or 'chrony' not found. {0} ironic_python_agent.tests.unit.test_utils.TestClockSyncUtils.test_sync_clock_none [0.002351s] ... ok {4} ironic_python_agent.tests.unit.test_utils.TestUtils.test_specified_partition_table_type_disk_label_ignored_with_uefi [0.001413s] ... ok GET: / None GOT: ironic-python-agent: Copying configuration from /tmp/tmptc_pdmia/etc/ironic-python-agent to /etc/ironic-python-agent ironic-python-agent: Copying configuration from /tmp/tmptc_pdmia/etc/ironic-python-agent.d to /etc/ironic-python-agent.d {0} ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_copy [0.005872s] ... ok ironic-python-agent: /tmp/tmpm9cazmei/etc/ironic-python-agent not found ironic-python-agent: /tmp/tmpm9cazmei/etc/ironic-python-agent.d not found {0} ironic_python_agent.tests.unit.test_utils.TestCopyConfigFromVmedia.test_no_files [0.006105s] ... ok {0} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_from_driver_internal_info [0.001607s] ... ok {0} ironic_python_agent.tests.unit.test_utils.TestUtils.test_boot_mode_implicit_with_secure_boot [0.001398s] ... ok {0} ironic_python_agent.tests.unit.test_utils.TestUtils.test_collect_system_logs_journald [0.004400s] ... ok {0} ironic_python_agent.tests.unit.test_utils.TestUtils.test_extract_capability_from_json_string [0.000868s] ... ok {0} ironic_python_agent.tests.unit.test_utils.TestUtils.test_get_journalctl_output [0.001730s] ... ok {0} ironic_python_agent.tests.unit.test_utils.TestUtils.test_gzip_and_b64encode [0.001845s] ... ok {0} ironic_python_agent.tests.unit.test_utils.TestUtils.test_is_journalctl_present [0.001592s] ... ok POST: /v1/commands?wait=true {'name': 'do_things', 'params': {'key': 'value'}} GOT: ============================== Failed 2 tests - output below: ============================== ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_skip_list ---------------------------------------------------------------------------------------------------------------- Captured traceback: ~~~~~~~~~~~~~~~~~~~ Traceback (most recent call last): File "/usr/lib64/python3.11/unittest/mock.py", line 1375, in patched return func(*newargs, **newkeywargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/tests/unit/test_hardware.py", line 4481, in test_create_configuration_with_skip_list mocked_execute.assert_has_calls([ File "/usr/lib64/python3.11/unittest/mock.py", line 222, in assert_has_calls return mock.assert_has_calls(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/unittest/mock.py", line 976, in assert_has_calls raise AssertionError( AssertionError: Calls not found. Expected: [call('mdadm', '--examine', '/dev/md0', use_standard_locale=True), call('parted', '/dev/sda', '-s', '--', 'mklabel', 'msdos'), call('sgdisk', '-F', '/dev/sda'), call('parted', '/dev/sdb', '-s', '--', 'mklabel', 'msdos'), call('sgdisk', '-F', '/dev/sdb'), call('parted', '/dev/sda', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '42s', '10GiB'), call('partx', '-av', '/dev/sda', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('parted', '/dev/sdb', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '42s', '10GiB'), call('partx', '-av', '/dev/sdb', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('mdadm', '--create', '/dev/md0', '--force', '--run', '--metadata=1', '--level', '1', '--name', 'small', '--raid-devices', 2, '/dev/sda1', '/dev/sdb1')] Actual: [call('mdadm', '--examine', '/dev/md0', use_standard_locale=True), call('parted', '/dev/sda', '-s', '--', 'mklabel', 'gpt'), call('parted', '/dev/sdb', '-s', '--', 'mklabel', 'gpt'), call('parted', '/dev/sda', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '551MiB', '10GiB'), call('partx', '-av', '/dev/sda', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('parted', '/dev/sdb', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '551MiB', '10GiB'), call('partx', '-av', '/dev/sdb', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('mdadm', '--create', '/dev/md0', '--force', '--run', '--metadata=1', '--level', '1', '--name', 'small', '--raid-devices', 2, '/dev/sda1', '/dev/sdb1')] ironic_python_agent.tests.unit.test_hardware.TestGenericHardwareManager.test_create_configuration_with_skip_list_no_existing_device ----------------------------------------------------------------------------------------------------------------------------------- Captured traceback: ~~~~~~~~~~~~~~~~~~~ Traceback (most recent call last): File "/usr/lib64/python3.11/unittest/mock.py", line 1375, in patched return func(*newargs, **newkeywargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/ironic-python-agent-9.1.0/ironic_python_agent/tests/unit/test_hardware.py", line 4613, in test_create_configuration_with_skip_list_no_existing_device mocked_execute.assert_has_calls([ File "/usr/lib64/python3.11/unittest/mock.py", line 222, in assert_has_calls return mock.assert_has_calls(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/unittest/mock.py", line 976, in assert_has_calls raise AssertionError( AssertionError: Calls not found. Expected: [call('parted', '/dev/sda', '-s', '--', 'mklabel', 'msdos'), call('sgdisk', '-F', '/dev/sda'), call('parted', '/dev/sdb', '-s', '--', 'mklabel', 'msdos'), call('sgdisk', '-F', '/dev/sdb'), call('parted', '/dev/sda', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '42s', '10GiB'), call('partx', '-av', '/dev/sda', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('parted', '/dev/sdb', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '42s', '10GiB'), call('partx', '-av', '/dev/sdb', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('parted', '/dev/sda', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '10GiB', '-1'), call('partx', '-av', '/dev/sda', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('parted', '/dev/sdb', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '10GiB', '-1'), call('partx', '-av', '/dev/sdb', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('mdadm', '--create', '/dev/md0', '--force', '--run', '--metadata=1', '--level', '1', '--name', 'small', '--raid-devices', 2, '/dev/sda1', '/dev/sdb1'), call('mdadm', '--create', '/dev/md1', '--force', '--run', '--metadata=1', '--level', '0', '--name', 'large', '--raid-devices', 2, '/dev/sda2', '/dev/sdb2')] Actual: [call('parted', '/dev/sda', '-s', '--', 'mklabel', 'gpt'), call('parted', '/dev/sdb', '-s', '--', 'mklabel', 'gpt'), call('parted', '/dev/sda', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '551MiB', '10GiB'), call('partx', '-av', '/dev/sda', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('parted', '/dev/sdb', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '551MiB', '10GiB'), call('partx', '-av', '/dev/sdb', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('parted', '/dev/sda', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '10GiB', '-1'), call('partx', '-av', '/dev/sda', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('parted', '/dev/sdb', '-s', '-a', 'optimal', '--', 'mkpart', 'primary', '10GiB', '-1'), call('partx', '-av', '/dev/sdb', attempts=3, delay_on_retry=True), call('udevadm', 'settle'), call('mdadm', '--create', '/dev/md0', '--force', '--run', '--metadata=1', '--level', '1', '--name', 'small', '--raid-devices', 2, '/dev/sda1', '/dev/sdb1'), call('mdadm', '--create', '/dev/md1', '--force', '--run', '--metadata=1', '--level', '0', '--name', 'large', '--raid-devices', 2, '/dev/sda2', '/dev/sdb2')] ====== Totals ====== Ran: 790 tests in 3.6510 sec. - Passed: 786 - Skipped: 2 - Expected Fail: 0 - Unexpected Success: 0 - Failed: 2 Sum of execute time for each test: 15.7865 sec. ============== Worker Balance ============== - Worker 0 (99 tests) => 0:00:03.651022 - Worker 1 (99 tests) => 0:00:01.805750 - Worker 2 (99 tests) => 0:00:00.603320 - Worker 3 (99 tests) => 0:00:02.670847 - Worker 4 (99 tests) => 0:00:03.598143 - Worker 5 (99 tests) => 0:00:01.594575 - Worker 6 (98 tests) => 0:00:00.451937 - Worker 7 (98 tests) => 0:00:01.561141 error: Bad exit status from /var/tmp/rpm-tmp.GjWH18 (%check) Bad exit status from /var/tmp/rpm-tmp.GjWH18 (%check) RPM build errors: Child return code was: 1 EXCEPTION: [Error('Command failed: \n # bash --login -c /usr/bin/rpmbuild -bb --noclean --target noarch --nodeps /builddir/build/SPECS/openstack-ironic-python-agent.spec\n', 1)] Traceback (most recent call last): File "/usr/lib/python3.10/site-packages/mockbuild/trace_decorator.py", line 93, in trace result = func(*args, **kw) File "/usr/lib/python3.10/site-packages/mockbuild/util.py", line 597, in do_with_status raise exception.Error("Command failed: \n # %s\n%s" % (command, output), child.returncode) mockbuild.exception.Error: Command failed: # bash --login -c /usr/bin/rpmbuild -bb --noclean --target noarch --nodeps /builddir/build/SPECS/openstack-ironic-python-agent.spec